一切从零开始

SVN版本库备份-增量备份

上一篇 / 下一篇  2009-01-14 09:39:05 / 个人分类:软件测试基础

  svnadmin dump

    这个大家应该很熟悉了,下面说用法

    svnadmin dump project --revision 01 --incremental > root01                           备份01 版本的 project到root1中

   为了记录每次提交的结果,需要使用一项Subversion的特性--钩子(hook),看看project目录:

project

         conf

         dav

         db

                  revprops

                  revs

                  transactions

         hooks

         locks

其中的hooks目录里存放的就是钩子脚本,我们在此处只使用post-commit钩子,这个钩子会在每次提交之后执行,为了实现我们的备份功能,我们在hooks下建立一个文件post-commit.bat,内容如下:

echo off

set SVN_HOME="D:\Subversion"

set SVN_ROOT=D:\svnroot

set UNIX_SVN_ROOT=D:/svnroot

set DELTA_BACKUP_SVN_ROOT=D:\svnrootbak\delta

set LOG_FILE=%1\backup.log

echo backup revision %2 >> %LOG_FILE%

for /r %SVN_ROOT% %%I in (.) do if D:/svnroot/%%~nI == %1 %SVN_ROOT%\%%~nI\hooks\deltaBackup.bat %%~nI %2

goto end

:end

通过这个脚本,可以实现D:\svnroot下的版本库提交时自动增量备份到D:\svnrootbak\delta(确定这个目录存在),其中使用的deltaBackup.bat其实可以放在任何地方,只是对脚本的svnadmin dump的包装,内容如下:

@echo 正在备份版本库%2......

%SVN_HOME%\bin\svnadmin dump %SVN_ROOT%\%1 --incremental --revision %2 >> %DELTA_BACKUP_SVN_ROOT%\%1.dump

@echo 版本库%2成功备份到了%3


TAG: softtest

 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 18568
  • 日志数: 20
  • 建立时间: 2009-01-09
  • 更新时间: 2009-07-10

RSS订阅

Open Toolbar