2008-11-21 24 views
7

對於我個人的東西,我只是每週使用一次svnadmin hotcopy命令,但對於包含許多開發人員的更多任務關鍵型存儲庫,這足夠嗎?或者我應該花時間制定一個更嚴格的備份策略,包括完整備份和增量備份?'hotcopy'足夠用於SVN備份還是應該擔心完整和增量轉儲?

hotcopy似乎是最簡單的方法,但我希望能夠恢復回購,如果由於某種原因,它變得損壞。只是通過hotcopy做轉儲允許我這樣做?

回答

12

您是否擔心hotcopy或您擔心每週只備份一次?

即使其他進程(例如您的開發人員)同時訪問存儲庫,Hotcopy也會產生安全且完整的存儲庫備份。如果您仍然不信任它,請關閉對存儲庫的所有訪問,並使用通常的文件系統工具將其複製到某處,以備份它。 (開發人員不會全天候工作,是嗎?)

如果您擔心的是每週一次的部分:只要想想如果回購在下一次備份前一天消失會發生什麼情況調度。有關係嗎?如果是,則更頻繁地進行備份。就這麼簡單。

您的存儲庫是否太大而無法保留幾天或幾周的完整備份?實施使用完整備份和增量備份的循環備份方案。你有足夠的備份空間嗎?節省自己的麻煩,並完成全部備份。

+0

我對hotcopy的主要擔憂是如果repo已損壞,那麼就我所知,hotcopy只是複製損壞的文件,然後它們無用以恢復損壞的repo。 – eriklane 2008-11-24 19:17:28

0

我以前運氣不好,只有熱副本。如果代碼在一天中多次更新並提交,則可能需要更深入的備份策略。

+5

你能指出,什麼是「壞運氣」實際上包括?否則它只是恐怖煽情 – hop 2008-11-21 21:07:05

2

我實現了一個企業的SVN的1.4.x庫(當時託管在Windows上)備份計劃,利用該python腳本svn-backup-dumps.py

我調用svn-backup-dump.pypost-commit鉤來觸發的增量備份具體修改。我使用schtasks來安排使用相同腳本的每週「完整」備份。

恢復(我們必須做兩次,因爲在存儲庫中刪除了一個目錄)相對簡單:獲取最新的完整備份,恢復它。在上一次修訂中應用增量。

我還沒有研究1.5在這個領域的改進/變化,但我相信一個類似的計劃可以爲你工作。

8

另一個好的策略是保留第二個SVN存儲庫,並與主存儲庫svnsync同步,通常使用post-commit掛鉤。

主要優點是,如果第一個存儲庫由於某種原因而停機,那麼您可以立即切換到備份存儲庫,並且在沒有任何停機時間的情況下繼續使用它。

1

如果您在先前未損壞的備份的頂部熱複製損壞的回購,那麼是的,您將失去未損壞的備份。

如果您擔心這一點,那麼正如其他人所說的那樣,您需要旋轉備份。

您也可以安排自動運行'svnadmin verify'。

2

打電話給我老派,但是如何對分區進行子版本化,然後按計劃進行重影?

Davide Gualano建議的svnsync選項聽起來不錯。我傾向於選擇此選項以防止對驅動器進行不必要的分區(這也可能會蹭別其他管理員,並且在我的某些VPS環境中沒有意義)。

加成

我一直在使用svnadmin的「傾倒」最近指揮了很多。這與mysql dump命令非常相似,因爲它會將存儲庫導出到bak create命令中。該命令可以作爲crontab /計劃任務實施,然後作爲文件複製到外部驅動器。示例命令:

svnadmin dump c:\svn\project > c:\dumps\project.bak 

svnadmin load c:\svn\project < c:\dumps\project.bak 

然後使用robocopy /您選擇的複製工具將文件移動到另一個位置。如果您想要將文件完全從repo服務器移出,但沒有外部訪問子服務器,這非常有用。

我還沒有把這個歸功於藝術。當我在機器間移動這些文件時,偶爾會遇到類似'UUID不匹配'的情況。我一直在通過刪除/低評分項目文件夾來解決這個問題,然後使用:

svnadmin create c:\svn\project 

svnadmin load c:\svn\project < c:\dumps\project.bak 

這應該刪除錯誤。您可能需要重新創建或恢復與Eclipse或其他項目的鏈接。如果UUID被破壞,它可能會影響其他使用該項目的人,所以這應該是一個考慮因素。

您可以將此方法用作Hotcopy的後備。在他們之間,你應該能夠回顧回購。

P.S.肯,它看起來像svn-backup-dumps.py已被移動到這裏: http://svn.apache.org/repos/asf/subversion/trunk/tools/server-side/svn-backup-dumps.py

相關問題