让sourceSafe每天自动备份及修复(适用于vss6.0和vss2005)
此文章演示了通过调用系统“任务计划”来自动备份vss
操作系统 win2000,win2003
适用于vss6.0和vss2005
第一步:备份vss projects文件
@title 备份ProjectVss项目组SourceSafe数据库
set SsPath="C:\Program Files\Microsoft Visual SourceSafe"
set BakPath=E:\ProjectBackup\BakData
set iniPath=e:\ProjectVss
"%SsPath%ssarc.exe" -d- -s"%iniPath%" -i-Y -yadmin,password -o@"%BakPath%ProjectVSS_Bak(%DATE%).txt" "%BakPath%ProjectVSS_Bak(%DATE%).ssa" $/
if errorlevel 1 (
echo 备份失败
) ELSE (
echo 备份完成
)
第二步:修复vss Projects 文件错误(必须断开网络)
rem rd E:\ProjectVSS\data\backup /s /q "C:\Program Files\Microsoft Visual SourceSafe\analyze.exe" -I -DB -F -V3 -D "e:\projectvss\data" |
第三步:将以上两部分内容丰为一个CMD文件,比如BakVSS.CMD
然后在windows 系统任何计划内添加一个计划,每天定期执行即可。
每次备份后,会在指定的路径下生成类似这种形式的两个文件:ProjectVSS_Bak(2007-03-24 星期六).txt和 ProjectVSS_Bak(2007-03-29 星期四).ssa
示例如下:
@title 备份ProjectVss项目组SourceSafe数据库
rem SsPath 指定了SourceSafe安装目录下的 win32 目录的路径
set SsPath="C:\Program Files\Microsoft Visual SourceSafe"
rem BakPath指定了备份文件存放的路径
set BakPath=E:\ProjectBackup\BakData
rem iniPath指定了Vss安装时的Data路径
set iniPath=e:\ProjectVss
rem admin为管理员帐号,password为admin的密码
"%SsPath%ssarc.exe" -d- -s"%iniPath%" -i-Y -yadmin,password -o@"%BakPath%ProjectVSS_Bak(%DATE%).txt" "%BakPath%ProjectVSS_Bak(%DATE%).ssa" $/
if errorlevel 1 (
echo 备份失败
) ELSE (
echo 备份完成
)
rem 以下为修复文件错误,!!必须断开网络
rem 删除临时文件,必须!!否则修复可能失败!!
rem rd E:ProjectVSSdatabackup /s /q
rem 强行修复错误
"C:\Program Files\Microsoft Visual SourceSafe\analyze.exe" -I -DB -F -V3 -D "e:\projectvss\data"
@echo on
rem 每次备份后,会在指定的路径下生成类似这种形式的两个文件:ProjectVSS_Bak(2007-03-24 星期六).txt和 ProjectVSS_Bak(2007-03-29 星期四).ssa
也可以利用schtasks命令行工具添加计划任务。如下:
schtasks /create /RU system /SC DAILY /ST 12:00 /TN "SourceSafe Backup"
/TR "cmd /c C:\backup\bin\backup.bat"
说明:
1) /RU system 指定在“NT AUTHORITY\SYSTEM”帐户下运行此备份命令。
2) /SC DAILY 指定此命令每天运行一次。可选值包括MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE。
3) /ST 12:00 指定此备份命令在12:00开始执行。
4) /TN "SourceSafe Backup" 指定此计划任务的名称是 SourceSafe Backup
5) /TR "cmd /c C:\backup\bin\backup.bat" 指定此计划任务运行的命令。
d. 现在已经完成了创建每天自动备份的任务。在命令行下键入“schtasks”,就能在“任务名”一列找到“SourceSafe Backup”了!
参考
a. Microsoft Visual SourceSafe Reference Guide(SSUSEXP.CHM)。 此文件在SourceSafe的安装路径下。或者到MSDN网站上查看:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/guides/html/vsoriReferenceGuide.asp
b. Microsoft Visual SourceSafe Best Practices.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvss/html/vssbest.asp
c. HOW TO: Use Schtasks.exe to Schedule Tasks in Windows Server 2003
http://support.microsoft.com/default.aspx?scid=kb;en-us;814596