以往备份VSS的频率是一月一次,近来受到上面的教导,备份频率较少,需要每日备份。难道小弟我需要每日坚持到加班的最后一刻,然后再全部get最新,再压缩文件,再传到服务器上去吗?现在的项目很大了,备份一次真是费时不少。
作为一个老程序员肯定不能干这种重复的手工劳动,得想个办法,偷一下懒。网上找了一圈,codeproject.com上找到了一篇讲这个的文章。理解之后,做成了以下的bat文件:
@ECHO OFF
@TITLE Backing up source safe databases

SET VSS_Install_Path
=
"
D:/Program Files/Microsoft Visual Studio/VSS/win32/
"
SET VSS_DB
=
"
//Server/Vss_DB_Path/Vss_DB_Name
"
SET Bak_File
=
"
e:/%DATE%_Backup.ssa
"
SET VSS_Admin_Name
=
"
admin
"
SET VSS_Admin_Password
=
"
Your Admin Password
"

FOR /F
"
tokens=1-3 delims=-
"
%%i IN ('date /t') DO SET DATE
=
%%i-%%j-%%k

%VSS_Install_Path%
"
ssarc
"
-d- -y%VSS_Admin_Name%
,
%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/

@ECHO Finished backups
文件的解释
1 在实际项目中使用的话,需要修改文件中五个参数:
VSS_Install_Path :VSS的安装路径
VSS_DB :需要备份的VSS DB的路径
Bak_File :备份文件的输出地址
VSS_Admin_Name :VSS DB管理员的用户名
VSS_Admin_Password :VSS DB管理员的密码
2 “FOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i-%%j-%%k”
设置一个获取当前日期的变量,用于每日备份的文件名
3 “%VSS_Install_Path%"ssarc" -d- -y%VSS_Admin_Name%,%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/”
BAT文件的核心:使用了VSS安装路径下的 ssarc.exe 这个实用的工具来备份指定的VSS DB.
每日工作的配置
1 进入备份服务器
2 开始——程序——附件——系统工具——任务计划——添加任务计划
3 选择保存的我们做成的VSS备份的bat文件,设置执行频率为“每日”,时间可设置为凌晨1、2点钟,那时大家应该都下班了吧。
4 OK!大功告成,不用管备份的事情了。不过一定得把备份服务器的硬盘弄大一点,项目大了的话,备份文件还是挺大的,小心撑爆硬盘,过了保质期后,可以手动废掉一些过期的备份文件。
作为一个老程序员肯定不能干这种重复的手工劳动,得想个办法,偷一下懒。网上找了一圈,codeproject.com上找到了一篇讲这个的文章。理解之后,做成了以下的bat文件:














文件的解释
1 在实际项目中使用的话,需要修改文件中五个参数:
VSS_Install_Path :VSS的安装路径
VSS_DB :需要备份的VSS DB的路径
Bak_File :备份文件的输出地址
VSS_Admin_Name :VSS DB管理员的用户名
VSS_Admin_Password :VSS DB管理员的密码
2 “FOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i-%%j-%%k”
设置一个获取当前日期的变量,用于每日备份的文件名
3 “%VSS_Install_Path%"ssarc" -d- -y%VSS_Admin_Name%,%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/”
BAT文件的核心:使用了VSS安装路径下的 ssarc.exe 这个实用的工具来备份指定的VSS DB.
每日工作的配置
1 进入备份服务器
2 开始——程序——附件——系统工具——任务计划——添加任务计划
3 选择保存的我们做成的VSS备份的bat文件,设置执行频率为“每日”,时间可设置为凌晨1、2点钟,那时大家应该都下班了吧。
4 OK!大功告成,不用管备份的事情了。不过一定得把备份服务器的硬盘弄大一点,项目大了的话,备份文件还是挺大的,小心撑爆硬盘,过了保质期后,可以手动废掉一些过期的备份文件。