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

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

@echo off
@title备份ProjectVss项目组SourceSafe数据库
set SsPath =" C:/ Program Files /MicrosoftVisualSourceSafe"
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 文件错误

<!-- TABLE { TABLE-LAYOUT: fixed; WORD-WRAP: break-word; } --><!-- .lineBorderBlue1 { BORDER-TOP: #999999 1px groove; BORDER-BOTTOM: #999999 1px groove; BORDER-LEFT: #999999 1px groove; BORDER-RIGHT: #999999 1px groove; background-color:#efefef; } -->

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 /MicrosoftVisualSourceSafe"
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: ProjectVSS data backup / s / q
rem 强行修复错误
" C:/ProgramFiles/MicrosoftVisualSourceSafe/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

你可能感兴趣的:(source)