SVN 自动备份

通过SVN我们可以利用添加计划来执行SVN自动备份,网上对于这个已经有很多的介绍.在这里只说明我遇到的一个小问题,缺折磨了我很长时间.

在 svn仓库的根目录下建立:

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:\Program Files\VisualSVN Server"
rem 所有版本库的父目录
set SVN_ROOT=D:\Repositories
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

 

注意此处表红的一处,参考了网上的很多做法,没有加引号. 我在windows2003下 执行不成功. 加上引号后执行成功!不懂bat文件的语言.我也没发解释了.

还要注意的是 需要下载安装一个7-Zip http://www.7-zip.org/download.html

然后再控制面板里面找到 添加计划任务 就大功告成了…需要设置用户密码哦..否则执行不成功.

posted on 2011-07-28 15:31  小刚qq  阅读(5160)  评论(0编辑  收藏  举报