濟寧果殼科技是一家網站開發,軟件定制開發 等一系列的開發。擁有豐富的網站開發經驗;下面咱們來說一下 咱們常用的SVN倉庫數據遷移;
濟寧果殼科技
2017-11-17 17:31:52
0
6011
一、軟件開發代碼托管平臺或者工具都很多,VS提供自己的一套托管;SVN也是碼農們做常用的管理項目數據的協同工具:SVN有自己的優勢也有自己的劣勢;下面我們說一下SVN倉庫數據遷移的方法:
SVN倉庫數據遷移不是很常用,但是必須要掌握。
當我們部署了SVN的服務端時,我們想將這臺服務器上已有的SVN倉庫數據整體遷移到別的機器上時,同時還要保留所有版本號和版本信息,那么我們需要通過下面的方法來解決:
、將準備要遷移的倉庫導出:
svnadmin dump E:\SVN\Repositories\GuaChe > E:\GuaChe
、我們將第一步導出的SVN倉庫備份拷貝到我們的目標服務器上,最好放到硬盤的根目錄,這樣寫命令的時候路徑簡短,我放到了E盤根目錄下;
、在我們的目標服務器上創建新的倉庫(前提條件 安裝了SVN Server 端;倉庫的硬盤存儲路徑可以通過SVN Server更改路徑的):
svnadmin create E:\SVN\Repositories\GuaChe
、將E盤根目錄下的GuaChe 倉庫備份導入到目標服務器的 第3步新建的倉庫中:
svnadmin load E:\SVN\Repositories\GuaChe < E:\GuaChe
注意:以上操作會導致所有的配置丟失,只要將原來倉庫conf文件復制或覆蓋到目標服務器上對應的倉庫里就可以了。以上4步中,建議使用絕對路徑;
二、為了避免SVN倉庫所在的服務器崩潰,下面寫了如何備份倉庫數據的解決方案:
svn提供了一個簡單的方法svnadmin dump命令去實現備份,在windows下,在"任務計劃程序"中定期去跑bat去實現穩定的備份,
我的應用環境是:Windows 2012 Server R2
編寫svnadmin dump命令腳本,內容可參考如下,備份的文件名按日期命名
1、 set datatime=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
2、 set filename=smp_svn_dump_%datatime%
3、 svnadmin dump C:\Svn\Repositories\DOC > E:\SvnBak\DOC\%filename%
注意:C:\Svn\Repositories\DOC是倉庫所在的硬盤目錄,E:\SvnBak\DOC\為倉庫的備份目錄,也可以備份到共享磁盤,這個技術朋友們自己解決。
4、將上述的三步寫入TXT文檔中,將TXT文檔的擴展名改成bat擴展名,windows可執行文件; 用windows任務計劃程序定時執行bat的文件;這樣就能得到備份的SVN倉庫文件了;至于怎么使用windows任務計劃,大家可以百度一下;資料挺全的。