天天看点

如何用脚本实现提交时同步备份

备份是我们日常关注的问题,我们一般进行的全量备份、增量备份,现在我来介绍另一种备份——同步备份,即我们在每次提交的时候同时进行备份,这样使得我们的工作成果更不容易丢失。该过程是通过钩子脚本实现,放到库文件的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%