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