如果我有一些特別重要的文件,他們可以將SVN委託給兩個存儲庫嗎?可以將相同的文件提交到2個SVN存儲庫嗎?
我可以在兩臺不同的機器上建立兩個SVN存儲庫,這樣如果一臺機器出現問題,那麼總會有備份。
(如果它可以是烏龜或命令行將是最好的)。謝謝。
如果我有一些特別重要的文件,他們可以將SVN委託給兩個存儲庫嗎?可以將相同的文件提交到2個SVN存儲庫嗎?
我可以在兩臺不同的機器上建立兩個SVN存儲庫,這樣如果一臺機器出現問題,那麼總會有備份。
(如果它可以是烏龜或命令行將是最好的)。謝謝。
您可以在服務器上使用svnsync來創建原始存儲庫的鏡像。
更多信息:http://svn.apache.org/repos/asf/subversion/trunk/notes/svnsync.txt
嗯,你可以使用的post-commit掛鉤,並承諾整個倉庫(或只是重要的文件)到另一個倉庫。這將消除記住將所有內容提交到兩個存儲庫的痛苦,並且是一個優雅的解決方案。
從activa的想法擴展(使用svnsync),您可以在每次提交後通過在SVN掛接腳本中觸發svnsync來運行svnsync,例如post-commit。這樣,在每次提交後,您的輔助副本將與您的主副本同步,從而始終保持您的備份是最新的。
如果您擔心丟失存儲庫數據,那麼執行自動備份是一種可行的解決方案。 「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命令將這些轉儲複製到不同的服務器。