假设svn代码库在D:/wamp/www/repository/下,把backup.bat和simpleBackup.bat放到此目录下,并修改里面相应的目录路径,然后添加一个计划任务执行simpleBackup.bat,这样就会把repository下的代码库copy到相应的目录下(本例中为D:/svnbak)。被copy的代码库目录一定是用[TortoiseSVN]->[Create repository here...]建立的代码库目录。两个BAT文件的内容如下:(来自于网络)
simpleBackup.bat:
@echo 正在备份版本库%1......
@%SVN_HOME%/bin/svnadmin hotcopy %1 %BACKUP_DIRECTORY%/%2
@echo 版本库%1成功备份到了%2!
backup.bat:
echo off
rem Subversion的安装目录
set SVN_HOME="D:/Subversion"
rem 所有版本库的父目录
set SVN_ROOT=D:/wamp/www/repository
rem 备份的目录
set BACKUP_SVN_ROOT=D:/svnbak
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%/%date:~0,10%
if exist %BACKUP_DIRECTORY% goto checkBack
echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
mkdir %BACKUP_DIRECTORY%
rem 验证目录是否为版本库,如果是则取出名称备份
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I/conf/svnserve.conf" %SVN_ROOT%/simpleBackup.bat "%%~fI" %%~nI
goto end
:checkBack
echo 备份目录%BACKUP_DIRECTORY%已经存在,请清空。
goto end
:end
注意:执行此计划任务的windows用户必须要设置密码,否则此计划任务不会执行。