进步无穷尽,测试有尽头。。。

VSS自动备份成功

上一篇 / 下一篇  2010-04-09 15:49:42 / 精华(1) / 置顶(1) / 个人分类:工具安装与使用


今天彻底研究了一下VSS的自动备份
方法如下:

1。编写一个bat文件,内容如下(可根据情况修改路径):
@echo off
@title Backing up SourceSafe databases


rem VSS_Install_Path :VSS的安装路径
set VSS_Install_Path="C:\Program Files\Microsoft Visual SourceSafe\"

rem VSS_DB :需要备份的VSS DB的路径 进入vss后file-open Sourcesafe Database后,即可知道地址
set VSS_DB="D:\VSS1"

rem VSS_Admin_Password :VSS DB管理员的密码
set VSS_Admin_Name="admin"

rem VSS_Install_Path :VSS的安装路径
set VSS_Admin_Password="123"

FOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i-%%j-%%krem Bak_File :备份文件的输出地址
set Bak_File="D:\backup_%DATE%.ssa"

rem 执行备份

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

@echo Finished backups

注释:
1 )、“FOR /F "tokens=1-3 delims=- " %%i IN ("date /t") DO SET DATE=%%i-%%j-%%k”
设置一个获取当前日期的变量年月日,用于每日备份的文件名

如果想用年月日时分来标记,红色代码部分改为下面的:


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

rem Bak_File :备份文件的输出地址
set Bak_File="D:\backup_%DATE%%TIME%.ssa"

2)、
“%VSS_Install_Path%"ssarc" -d- -y%VSS_Admin_Name%,%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/”
BAT文件的核心:使用了VSS安装路径下的 ssarc.exe 这个实用的工具来备份指定的VSS DB.

2.在开始->附件->系统工具->任务计划中,添加一个计划任务,设定计划任务每天自动备份的时间。

3. 对于压缩成“SSA”的恢复情况
  a) 拷贝“SSA”文件到制定目录下
  b) 打开“Visual SourceSafe Administrator”
  c) 打开“Archive -> Restore Project…”
  d) 浏览到存放备份文件的目录,打开生成的SSA文件
  e) 检查是否有问题即可。

2010.4.12

适用了两天发现上面的自动备份存在问题,总需要手动去回车执行,而且只会生成一个ssa的文件而没有txt文件。所以今天又找了资料改进了一下代码,如下:

@echo off
@title 备份ProjectVss项目组SourceSafe数据库
rem VSS_Install_Path :VSS的安装路径
set VSS_Install_Path="C:\Program Files\Microsoft Visual SourceSafe\"

rem VSS_DB :需要备份的VSS DB的路径
set VSS_DB="D:\OA_Source"

rem Bak_File :备份文件的输出地址
set Bak_File="D:\VSS"

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

rem 执行备份

%VSS_Install_Path%ssarc.exe -d- -s%VSS_DB% -yAdmin,4a3dr -o%Bak_File%ProjectVSS_Bak(%DATE%%DAY%).txt  -l  %Bak_File%ProjectVSS_Bak(%DATE%%DAY%).ssa "   $/

 if errorlevel 1   (
 echo  备份失败
 )   ELSE   (
 echo  备份完成
 )
@echo on
 rem  每次备份后,会在指定的路径下生成类似这种形式的两个文件:ProjectVSS_Bak(2010-03-24 星期六).txt和 ProjectVSS_Bak(2010-03-29 星期六).ssa

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar