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