2011-04-13 84 views
0

我們已經安裝了Windows 2003服務器,安裝了Subversion(特別是SlikSVN)。 svnserve.exe進程設置爲作爲Windows服務運行。如何從備份中恢復SVN存儲庫?

服務器有2個硬盤驅動器,一個用於OS(C:驅動器),另一個用於數據(D:驅動器)。我們的SVN存儲庫位於D:\ SVN,但D:驅動器最近崩潰了,不再啓動。 SVN Windows服務也拒絕啓動(可能是因爲它無法找到存儲庫)。

幸運的是,雖然我們備份了存儲庫(每天晚上通過XCOPY備份到外部驅動器),但我們現在需要將最新備份恢復到C:\ SVN上的C:驅動器。

我該如何去做這件事?有人可以給我一個詳細的解釋。我需要做的是將最新的存儲庫備份恢復到同一臺服務器上的其他位置(本例中爲C:\ SVN)。

什麼是我需要運行的命令行命令。我需要取消映射D:\ SVN位置嗎?

回答

1

備份Subversion存儲庫的正確方法是svnadmin hotcopy命令。在這種情況下:

得到的備份是一個完全 功能的版本庫,能夠 被作爲替代掉線 你的活動資料庫應該什麼 嚴重錯誤。

http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.backup

你說你只需將文件複製其他地方。我建議你試試把它們複製回來。之後我建議你運行svnadmin verify

我不熟悉svnserve.exe,但鑑於這是一個Windows服務,您可以隨時在改變其指向regedit參數:

HKLM\SYSTEM\CurrentControlSet\Services\snvserve\Parameters 
+0

我備份使用的文件系統複製,當資源庫中的使用是不。它應該和其他備份一樣好。我不能將它複製回D:\ SVN,因爲該位置不再存在。如何將存儲庫位置更改爲C:\ SVN? – 2011-04-14 07:01:59

+0

@Saajid Ismail - 進入「開始 - >運行」(或點擊「Win + R」)並輸入'regedit'。瀏覽左樹,直到找到'HKLM \ SYSTEM \ CurrentControlSet \ Services \ snvserve \ Parameters'。在右側面板中,雙擊'ConfigArgs'。找到'D:\ SVN',將其替換爲'C:\ SVN'並點擊'OK'。謹慎行事,因爲regedit是一個強大的工具,如果你編輯你不應該的東西,它可能會毀掉你的系統。 – 2011-04-14 07:53:55