備份是我們日常關注的問題,我們一般進行的全量備份、增量備份,現在我來介紹另一種備份——同步備份,即我們在每次送出的時候同時進行備份,這樣使得我們的工作成果更不容易丢失。該過程是通過鈎子腳本實作,放到庫檔案的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%