SVN服務備份操作步驟

執筆記憶的空白發表於2017-11-13

SVN服務備份操作步驟

1、準備源伺服器和目標伺服器

源伺服器:192.168.1.250

目標伺服器:192.168.1.251 root/rootroot

 

2、對目標伺服器(251)裝SVN伺服器, 指令碼如下:

yum install subversion

 

 

3、建立一個新的倉庫 (svnadmin create 路徑),指令碼如下:

1
svnadmin create ~/svn-storage-bak

  

 

4、進入svn-storage-bak這個倉庫的根目錄中,指令碼如下:

1
cd ~/svn-storage-bak

  

 

5、複製hooks/pre-revprop-change.tmpl為hooks/pre-revprop-change,指令碼如下:

1
cp hooks/pre-revprop-change.tmpl hooks/pre-revprop-change

  

 

6、給上面pre-revprop-change指令碼加上執行許可權,指令碼如下:

1
chmod u+x hooks/pre-revprop-change

  

7、編輯pre-revprop-change指令碼, 把最後一行 exit 1 改成exit 0 ,然後儲存。操作如下:

vim hooks/pre-revprop-change

 

 

 

8、使用svnsync設定新的倉庫同步指向目標倉庫(svnsync init file:////當前目標svn倉庫路徑 ,源倉庫的url),指令碼如下:

1
svnsync init file:////root/svn-storage-bak svn://192.168.1.250/

  


9、然後輸入當前伺服器的使用者名稱密碼。 以及源svn伺服器的使用者名稱和密碼

 

10、進行svn同步備份 ,指令碼如下: 

svnsync sync file:///home/usrname/svn-storage-bak

 

 

然後就開始備份了

 

11、將 第10步的同步指令碼,寫在一個指令碼檔案裡面,並把日誌重定向輸出,便於之後檢視同步是否成功。 然後設定到crontab 定時任務裡面。 定點每天凌晨1點執行。

(我現在是直接把同步指令碼寫在了crontab裡面,建議單獨寫個指令碼檔案去定時執行。 )

我的定時任務寫法(參考):

 

 

 

12、啟動SVN服務,具體指令碼如下:

svnserve -d -r /root/svn-storage-bak

 

 

13、測試,檢視是否同步成功

用TortoiseSVN客戶端或者瀏覽器訪問 ,備份的svn伺服器地址。看看資源是否備份成功。

例如:我用219做目標伺服器的一個測試。

相關文章