2009-05-30 85 views

回答

1

嗯,你可以使用的post-commit掛鉤,並承諾整個倉庫(或只是重要的文件)到另一個倉庫。這將消除記住將所有內容提交到兩個存儲庫的痛苦,並且是一個優雅的解決方案。

1

從activa的想法擴展(使用svnsync),您可以在每次提交後通過在SVN掛接腳本中觸發svnsync來運行svnsync,例如post-commit。這樣,在每次提交後,您的輔助副本將與您的主副本同步,從而始終保持您的備份是最新的。

1

如果您擔心丟失存儲庫數據,那麼執行自動備份是一種可行的解決方案。 「svnadmin dump」命令對此非常理想。

我使用這個腳本來創建我的所有存儲庫的轉儲:

#!/bin/bash 

DATE=`date "+%F"` 
BACKUPDIR=/var/backup 

# dump subversion repos. 
# all subversion projects are in /usr/local/svn 
for REPODIR in /usr/local/svn/* 
do 
    REPONAME=`basename $REPODIR` 
    TARGET=svndump-$REPONAME-$DATE.gz 
    echo backing up svn repository $REPODIR to $TARGET 
    svnadmin dump $REPODIR | gzip > $BACKUPDIR/$TARGET || exit 1 
done 

這個腳本是從cron作業運行。您可以添加rsync命令將這些轉儲複製到不同的服務器。

相關問題