实现SQLSERVER备份的本地备份、打包、删除原备份文件、局域网内异地存储
首先SQL的本地备份可以通过SQL SERVER自带的维护计划来实现,很简单不多说了。
而打包,需要通过一个bat打包脚本和任务计划程序
bat打包代码如下:
----------------------------
@echo off
set zip_path="C:\Program Files (x86)\WinRAR"
set zip_exe=rar
set zip_para=a
set path=%path%;%zip_path%
set fname=BAK%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
%zip_exe% %zip_para% %fname% *.bak
del *.bak
echo on
: zip_path= 是winrar路径
: 01 *.bak fname是压缩包文件名 .bak是需要压缩的文件类型 bat和要压缩的文件在一个目录下
: del *.bak 压缩完成删除源文件
------------------------------
BAK%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
得到的就是:
BAK2016110512354001 这个样子的文件名
如果把 set fname=c:\hehe\BAK%date:~0,4%%date:~,,,,这样压缩包就能保存在其他目录。
这个bat需要放置在需要打包清理的文件夹内,他可以把当前文件夹内的bak文件全部打包并删除。
把做好的bat放置到需要打包的bak文件所在文件夹
接下来是任务计划程序,用于在SQLSERVER完成备份的时候,执行bat打包任务。
开始-所有程序-管理工具-事件查看器
找到相关事件,右击将任务附加到此事件
下一步下一步,在操作界面选择程序,下一步
下一步,程序脚本选择你的bat
下一步 完成
然后需要到 开始-所有程序-管理工具-任务计划程序
打开找到刚才新添的计划
右击属性,这里有2个地方需要修改,否则会有问题
常规选项卡下,勾选,不管用户是否登录都要运行(保存需要输入帐号密码)
操作选项卡下,右击编辑“启动程序”,在起始于里面输入启动脚本的所在目录,这个是关键,不输入执行不了!
自此大功搞成了。
然后我们可以使用群晖的Synology Cloud Station把压缩包所在目录设置成和数据库的同步目录,然后就能局域网自动自动同步!
以上内容如果对你有用,请收藏。
评论列表: