SVN版本庫自動(dòng)備份如何實(shí)現(xiàn)?
本節(jié)和大家學(xué)習(xí)一下SVN版本庫自動(dòng)備份問題,感興趣的朋友們可以看一下,當(dāng)讓本節(jié)的內(nèi)容僅供參考,如果你有什么好的方法大家可以相互討論,歡迎大家一起來學(xué)習(xí)SVN版本庫自動(dòng)備份的知識(shí),希望本文能教會(huì)你更多東西。
截止到目前為止,手上的項(xiàng)目都納入SVN進(jìn)行管理,隨著而來的問題是:如何為SVN版本庫實(shí)現(xiàn)自動(dòng)備份。我手上用的是VisualSVN工具來代替SVN服務(wù)端,但VisualSVN沒有提供備份工具,沒辦法只好自己寫一個(gè),再寫這個(gè)腳本的時(shí)候,我參考了SCMLife論壇上某位朋友的腳本文件,并稍做修改,現(xiàn)在貢獻(xiàn)出來!
前提條件:
你的機(jī)器上裝有VisualSVN,如果沒有,也沒有關(guān)系,只要確保Subversion的安裝目錄下可以找到svnadmin這個(gè)命令即可。因?yàn)榘姹編斓膫浞菥褪抢眠@個(gè)程序來實(shí)現(xiàn);
你的機(jī)器上要有7zip的命令行程序7z.exe,如果沒有,請(qǐng)去7zip官方網(wǎng)站下載,因?yàn)槲覀円玫竭@個(gè)程序來實(shí)現(xiàn)對(duì)備份后的版本庫進(jìn)行壓縮保存;
知道你的版本庫所在目錄;
SVN版本庫自動(dòng)備份中備份腳本分為兩個(gè)批處理文件,它們分別是:backup.bat與simpleBackup.bat。需要記住得是:simpleBackup.bat文件要放在版本庫所在的目錄下;而backup.bat可以任意放置。我們調(diào)用的是backup.bat;每次備份成功后,會(huì)在版本庫所在目錄下的backup.log文件中記錄;
backup.bat源碼
echooff
remSubversion的安裝目錄
setSVN_HOME="C:\ProgramFiles\VisualSVNServer"
rem所有版本庫的父目錄
setSVN_ROOT=E:\Repositories
rem備份的目錄
setBACKUP_SVN_ROOT=E:\bak
rem創(chuàng)建存放版本庫的臨時(shí)目錄
setBACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,4%%date:~5,2%%date:~8,2%
ifexist%BACKUP_DIRECTORY%gotocheckBack
echo%date:~0,4%%date:~5,2%%date:~8,2%:建立備份目錄%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
SVN版本庫自動(dòng)備份時(shí)需要rem創(chuàng)建備份目錄
md%BACKUP_DIRECTORY%
rem驗(yàn)證目錄是否為版本庫,如果是則取出名稱備份
for/r%SVN_ROOT%%%Iin(.)do@ifexist"%%I\conf\svnserve.conf"call%SVN_ROOT%\simpleBackup.bat"%%~fI"%%~nI
echo開始?jí)嚎s版本庫,請(qǐng)不要中止....
%SVN_ROOT%\7z.exea-tzip%BACKUP_SVN_ROOT%\%date:~0,4%%date:~5,2%%date:~8,2%.zip%BACKUP_DIRECTORY%\*-r>nul
echo版本庫壓縮完成!
rem清除臨時(shí)創(chuàng)建備份目錄
rd/s/q%BACKUP_DIRECTORY%
gotoend
:checkBack
echo備份目錄%BACKUP_DIRECTORY%已經(jīng)存在,請(qǐng)清空。
gotoend
:end
SimpleBackup.bat源碼@echo正在備份版本庫%1......
@%SVN_HOME%\bin\svnadminhotcopy%1%BACKUP_DIRECTORY%\%2
@echo版本庫%1成功備份到了%2!
PS:在編寫批處理文件時(shí),我試圖創(chuàng)建一個(gè)變量,該變量用于保存當(dāng)前日期,但是不知為何總是不能成功,相關(guān)代碼如下:
echooff
setfilename=%date:~0,4%%date:~5,2%%date:~8,2%
echo文件名:%filename%。本節(jié)介紹SVN版本庫自動(dòng)備份完畢,請(qǐng)關(guān)注本節(jié)其他相關(guān)報(bào)道。
【編輯推薦】
- Windows下SVN備份中兩大功能詳解
- SVN管理與應(yīng)用相關(guān)的資料參考手冊(cè)
- ApacheSVN服務(wù)器安裝指導(dǎo)手冊(cè)
- Centos下SVN的安裝配置實(shí)用手冊(cè)
- SVN服務(wù)器安裝指導(dǎo)手冊(cè)