天天看點

如何用腳本實作送出時同步備份

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