备份是我们日常关注的问题,我们一般进行的全量备份、增量备份,现在我来介绍另一种备份——同步备份,即我们在每次提交的时候同时进行备份,这样使得我们的工作成果更不容易丢失。该过程是通过钩子脚本实现,放到库文件的hooks里。
在hooks里新建一个文本,给其更名为post-commit.bat,复制以下内容到该文本里,重启apache即可。
注:红色部分为需要根据自己的实际情况修改的地方。该脚本为windows下的。
@echo off
set SVN_HOME=f:/svn/xiu # 库的位置。
set SVN_ROOT=%1
set SVN_TXN=%2
set DELTA_BACKUP_SVN_ROOT=d:/delta # 备份到的目标位置。
set BACKUP_FILE=%DELTA_BACKUP_SVN_ROOT%/%SVN_TXN%.dump
set LOG_FILE=%DELTA_BACKUP_SVN_ROOT%/backup.log
echo backup revision %SVN_TXN% >> %LOG_FILE%
@echo 正在备份版本库$SVN_ROOT$......
%SVN_HOME%/svnadmin dump %SVN_ROOT% --incremental --revision %SVN_TXN% > %BACKUP_FILE%
@echo 版本库%1成功备份到了%SVN_TXN%