如何用rsync來同步SVN數據庫

需求:   有一個SVN主服務器, 要建一個SVN鏡像服務器,以方便鏡像服務器所在區域能夠高速下載代碼

解決方案: 假定SVN主服務器的IP是192.168.1.131,  鏡像服務器的IP是192.168.2.132,且假定131 SVN數據庫的地址是/work/svn

步驟:

1.  在132上創建 /work/svn目錄

2.  在131和132上分別執行ssh-keygen -t rsa, 一路回車(全部默認)

3. 在131上執行$ssh-copy-id -i [email protected], 在132上執行$ssh-copy-id -i [email protected]

注: 完成第2、3步可以實現ssh訪問免密碼

4. 在132上新建一個ssh腳本,內容如下:

#!/bin/sh
while true
do 
rsync -vzrtopgu --progress --delete [email protected]:/work/svn/ /work/svn
sync
sleep 1m
done

注:該腳本無限循環執行同步命令,每完成一次,休眠1分鐘

5. 完成以上動作後,在131上提交一筆代碼,待1分鐘之後,利用SVN客戶端登錄132服務器,可以看到最新的提交。


特別說明: 不要用計劃任務來做同步,因爲計劃任務並不能保證兩個任務是串行的(如第一個任務未完成,下一個任務又到來)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章