源機(jī)器:192.168.1.1
備份機(jī)器:192.168.1.2
前提條件:
1、兩臺機(jī)器的網(wǎng)絡(luò)是連通的
2、兩臺機(jī)器必須同時(shí)安裝了SVN服務(wù)器
假設(shè):
源機(jī)器上需要同步的庫名為autoSync,訪問地址為:svn://192.168.1.1/autoSync,對其具備讀寫權(quán)限的賬戶:sync/sync
備份機(jī)器配置:
1、創(chuàng)建與源機(jī)器庫名相同的空庫
# 假設(shè)備份機(jī)器的SVN根目錄建立在 /home/backup/svn/repository下
svnadmin create /home/backup/svn/repository/autoSync
2、配置備份機(jī)器上的autoSync
分別修改conf下的svnserve.conf、passwd、authz,根據(jù)實(shí)際情況配置,假設(shè)創(chuàng)建了用戶sync/sync,對庫autoSync具備讀寫權(quán)限,配置方法略,配置完成后啟動(dòng)SVN服務(wù)
3、創(chuàng)建并修改pre-revprop-change文件
cd /home/backup/svn/repository/autoSync/hooks
cp pre-revprop-change.tmpl pre-revprop-change
vi pre-revprop-change
將文件末尾的“exit 1”修改為“exit 0”即可,保存退出
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi

echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0

增加可執(zhí)行權(quán)限
chmod 755 pre-revprop-change
4、初始化
命令:
svnsync init --username 用戶名 --password 密碼 備份機(jī)器庫URL 源機(jī)器庫URL
說明:
用戶名和密碼是對源機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶
示例:
svnsync init --username sync --password sync svn://192.168.1.2/autoSync svn://192.168.1.1/autoSync
5、首次同步
首次同步即為一次全備份過程,在此期間請停止客戶端段源機(jī)器哦一切操作(提交代碼等)
命令:
svnsync sync 備份機(jī)器庫URL
示例:
svnsync sync svn://192.168.1.2/autoSync
源機(jī)器配置
6、增量自動(dòng)同步配置
創(chuàng)建并修改post-commit文件
# 假設(shè)源機(jī)器的SVN根目錄建立在 /home/svn/repository下
cd /home/svn/repository/autoSync/hooks
cp post-commit.tmpl post-commit
vi post-commit
在文件末尾追加:svnsync sync --non-interactive 備份機(jī)器庫URL --username 用戶名 --password 密碼
說明:
用戶名和密碼是對備份機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶
示例:
svnsync sync --non-interactive svn://192.168.1.2/autoSync --username sync --password sync
7、術(shù)語
配置完成,今后客戶端再向SVN(192.168.1.1)提交文件時(shí),會(huì)自動(dòng)觸發(fā)源機(jī)器(192.168.1.1)向備份機(jī)器(192.168.1.2)提交更新
8、版本庫UUID一致性
首先查看源機(jī)器庫的UUID,假設(shè)得到的是:fcdcbee9-6be3-4575-8d4a-681ec15ad8e0
svnlook uuid svn://192.168.1.1/autoSync
更新備份機(jī)器庫的UUID為源機(jī)器庫的UUID
svnadmin setuuid svn://192.168.1.2/autoSync fcdcbee9-6be3-4575-8d4a-681ec15ad8e0
備份機(jī)器:192.168.1.2
前提條件:
1、兩臺機(jī)器的網(wǎng)絡(luò)是連通的
2、兩臺機(jī)器必須同時(shí)安裝了SVN服務(wù)器
假設(shè):
源機(jī)器上需要同步的庫名為autoSync,訪問地址為:svn://192.168.1.1/autoSync,對其具備讀寫權(quán)限的賬戶:sync/sync
備份機(jī)器配置:
1、創(chuàng)建與源機(jī)器庫名相同的空庫


2、配置備份機(jī)器上的autoSync
分別修改conf下的svnserve.conf、passwd、authz,根據(jù)實(shí)際情況配置,假設(shè)創(chuàng)建了用戶sync/sync,對庫autoSync具備讀寫權(quán)限,配置方法略,配置完成后啟動(dòng)SVN服務(wù)
3、創(chuàng)建并修改pre-revprop-change文件



將文件末尾的“exit 1”修改為“exit 0”即可,保存退出











增加可執(zhí)行權(quán)限

4、初始化
命令:
svnsync init --username 用戶名 --password 密碼 備份機(jī)器庫URL 源機(jī)器庫URL
說明:
用戶名和密碼是對源機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶
示例:

5、首次同步
首次同步即為一次全備份過程,在此期間請停止客戶端段源機(jī)器哦一切操作(提交代碼等)
命令:
svnsync sync 備份機(jī)器庫URL
示例:

源機(jī)器配置
6、增量自動(dòng)同步配置
創(chuàng)建并修改post-commit文件




在文件末尾追加:svnsync sync --non-interactive 備份機(jī)器庫URL --username 用戶名 --password 密碼
說明:
用戶名和密碼是對備份機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶
示例:

7、術(shù)語
配置完成,今后客戶端再向SVN(192.168.1.1)提交文件時(shí),會(huì)自動(dòng)觸發(fā)源機(jī)器(192.168.1.1)向備份機(jī)器(192.168.1.2)提交更新
8、版本庫UUID一致性
首先查看源機(jī)器庫的UUID,假設(shè)得到的是:fcdcbee9-6be3-4575-8d4a-681ec15ad8e0

更新備份機(jī)器庫的UUID為源機(jī)器庫的UUID
