1. 用到的工具
a. ssarc.exe . ssarc.exe 是随着 SourceSafe 提供的一个备份工具,位置在 SourceSafe 安装路径下的 win32 目录下。
b. schtasks . schtasks 允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务。替代 AT.exe 。
2. 自动备份SourceSafe的步骤:
a. 创建一个批处理命令文件 backup.bat ,将其存放在某个位置,如 c:\backup\bin 下。
b. 在这个批处理命令文件中写备份 SouceSafe 的命令。如:
@echo off
@title Backing up SourceSafe databases
set SsPath=C:\Program Files\Microsoft Visual Studio\VSS\win32\
set BakPath=C:\backup\content\
"%SsPath%ssarc.exe" –d- -s"Path to a SourceSafe Database" –i- -yadmin,password –o@"%BakPath%Backup-output(%DATE%).txt" "%BakPath%Backup-Database(%DATE%).ssa" $/
echo Finished backups
@echo on
说明:
1) SsPath 指定了 SourceSafe 安装目录下的 win32 目录的路径。
2) BakPath 指定了备份文件存放的路径
3) 请将 “ Path to a SourceSafe Database ” 替换成 SourceSafe 数据库的 SrcSafe.ini 的路径。
4) 请将 “ password ” 替换成管理员的密码。
5) 每次备份完成之后,在 C:\backup\content 路径下会有两个文件生成:
a. Backup-output(<?XML:NAMESPACE PREFIX = ST1 />2004-11-01).txt : SourceSafe 在备份过程中的所有输出内容将会写入此文件。
b. Backup-Database(2004-11-01).ssa : SourceSafe 生成的备份文件。
Note : “ 2004-11-01 ” 是此备份操作执行时的当前日期。
6) “ $/ ”指定备份整个数据库。
c. 利用 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 ”了!
3. 参考
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