2009-09-18 117 views
2

是否有人將他們的Repositories文件夾存儲在備份的網絡驅動器上?是否有任何人有這個問題,而不是說讓它保存在運行Subversion的C驅動器的主機服務器上?在網絡驅動器上存儲Svn Repositories文件夾

我們基本上想把我們的repo放在另一個網絡驅動器上(與運行VisualSVN Server的服務器不同),並讓VisualSVN Server從一個完全不同的機器上讀取存儲庫。

我們會備份每隔5分鐘指向VisualSVN服務器的位置,以便在發生故障時隨時備份SVN存儲庫文件夾。然後,我們很可能不必擔心將來自開發人員的任何最新更改合併回陳舊/過時的回購編號,因爲我們經常對其進行備份。

回答

4

顛覆常見問題有a discussion on storing repositories on NFS;基本上,在這種情況下,您必須使用fsfs後端。對於存儲庫的熱備份,使用fsfs也是必需的;對於bsdfs,你需要hot-backup.py(或者svnadmin hotcopy)。使用常規備份程序時,可能會發生「當前」文件指向備份時尚未完全複製的修訂版。 「svnadmin recover」可以解決這個問題,如果你必須在發生這種情況時恢復備份(或者在任何修訂文件之前確保「當前」是備份的)。

+0

我沒有進行熱備份。當我簡單地備份整個存儲庫時,我不認爲需要這樣做,這對我來說很好。只需備份和替換,如果你需要恢復到以前的時間或任何其他。 – PositiveGuy 2009-09-28 13:36:05

+0

@coffeeaddict:定期備份可能會保存不一致的存儲庫,以便在還原時發現您的存儲庫已損壞。如果在備份運行的同時正在進行提交,並且兩個進程都以不幸的方式訪問相同文件,則可能會發生這種情況。 – 2009-09-28 15:15:05

+0

看起來像是使用FSFS,我很喜歡簡單地備份整個Repositories文件夾。 – PositiveGuy 2009-09-28 15:35:39

0

我把我的回購定期備份的web服務器上,並使用mod-svn for apache。

1

希望你使用的東西其他比file://協議!

如果備份在非工作時間發生,一般情況下應該可以。

查看SVN書中的Repository Backup主題。

0

要小心,除非svnserver已經停止,否則存儲庫的一個簡單樸素的副本不能保證給你一個有效的備份。每隔5分鐘停止一次服務器備份可能會很麻煩。

確保您使用svnadmin hotcopy,而不僅僅是SAN快照或複製命令。

此外,您可以在post commit鉤子中運行腳本,以在事情發生實際變化時執行備份。

0

我們在某個時候設置了這樣的存儲庫,但是將存儲庫移至服務器,在備份服務器之前,我們執行轉儲並備份轉儲文件。我們使用轉儲,因爲文件格式將始終受支持,並且存儲庫可以從無恢復,其中hotcopy取決於存儲庫結構相同。

+0

如果您在Windows操作系統上使用像Veritas這樣的備份程序來備份Repository文件夾,我不明白爲什麼您必須使用轉儲。 – PositiveGuy 2009-09-28 13:38:33

+0

我們沒有運行veritas,由於我們使用Apache和SVN來允許進行域身份驗證,如果我們在不關閉Apache/SVN的情況下備份存儲庫,我們會遇到磁盤損壞的問題。爲了防止停機,我們使用了dump,並且我們在服務器上保留了數週的備份。 – 2009-09-28 14:30:11

相關問題