让sourceSafe每天自动备份及修复(适用于vss6.0和vss2005)

此文章演示了通过调用系统“任务计划”来自动备份vss
操作系统 win2000,win2003
适用于vss6.0和vss2005
第一步:备份vss projects文件

@echo off
@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

示例如下:

@echo off
@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 //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

posted @ 2007-12-29 13:14  邀月  阅读(1841)  评论(0编辑  收藏  举报