




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、遠(yuǎn)程備份簡(jiǎn)單操作 >版本:1.0發(fā)布日期:2010-11-2實(shí)施日期:2010-11-9修訂記錄日期版次描述作者審核批準(zhǔn)2010-11-21.0初版發(fā)布,針對(duì)服務(wù)器版本。SUN2010-11-181.1添加了注意事項(xiàng)SUN目錄修訂記錄21 建立版本庫42 Apache方式下添加用戶53 Apache方式下分組權(quán)限管理74 同步備所需要的命令95具體操作操作流程概括:136遇到的問題與解決方法:147 Subversion同步工具svnsync出錯(cuò):Failed to get lock on destination repos148使用svnsync備份很簡(jiǎn)單,步驟如下:159注意事項(xiàng):1
2、81 建立版本庫1、在Dos命令行方式下,進(jìn)入svn安裝目錄下的bin目錄(如C:Program FilesSubversionbin)下,輸入命令 svnadmin create 路徑+版本庫名,即:SvnadmincreateF:/svnEnter鍵后會(huì)自動(dòng)創(chuàng)建svn文件夾,如下圖所示:2、進(jìn)入C:Program FilesApache GroupApache2bin目錄下(仍然在Dos命令行方式下),輸入svnadmin createF:/svn/svnproject3、在Apache安裝目錄下的conf目錄下,用文本編輯器打開httpd.conf,在httpd.conf文件的最后語句中
3、加入:<Location /svn> dav svn svnparentpath F:svn </Location>如下截圖所示:httpd.conf有黑色的雪花(*)表示此文件正在被修改,提醒每次修改后要記得保存,這樣,凡是在F盤下F:svn目錄下的子目錄, Apache 都交給 Subversion4)將httpd.conf中的Listen 80修改為Listen 8081(須在規(guī)定的范圍內(nèi)可以任意改變端口號(hào))。改為:版本庫建好就要與Apache發(fā)生聯(lián)系了。2 Apache方式下添加用戶1、首先,我們來為SVN配置庫創(chuàng)建第一個(gè)用戶zfq,在命令行窗口中轉(zhuǎn)到Apach
4、ehtpasswd工具所在的目錄(如:C:Program FilesApache GroupApache2bin)下輸入如下命令:Htpasswd -cF:svnsvnprojectconfuser zfq這時(shí),會(huì)提示輸入用戶密碼以及確認(rèn)用戶密碼。注意這里是創(chuàng)建第一個(gè)用戶,所以需要有-c開關(guān)。一定要注意:創(chuàng)建第二個(gè)用戶時(shí),我們就不必輸入 -c 開關(guān)了。如果想要?jiǎng)h除某個(gè)用戶,我們可以使用下列指令:Htpasswd d F:svnsvnprojectconfuser harry2、再在配置文件httpd.conf的最后加入下面的指令以增加權(quán)限:<Location /svn>dav sv
5、n svnparentpath F:svn# how to authenticate a userauthtype basic authname "Resources" authuserfile F:svnsvnprojectconfuser# only authenticated users may access the repositoryRequire valid-user</Location>如截圖所示:3 Apache方式下分組權(quán)限管理1、有時(shí),我們希望能夠?qū)⒍鄠€(gè)開發(fā)人員編為一組,使用組的方式來為項(xiàng)目設(shè)定權(quán)限。比如 projectA 項(xiàng)目只有屬于 gr
6、oupA 的成員才可以存取2、我們對(duì) httpd.conf 中的目錄配置再做一次修改: <Location /svn> dav svn svnparentpath F:svn authtype basic authname "Resources" authuserfile F:svnsvnprojectconfuser authzsvnaccessfile F:svnsvnprojectconfauthz Require valid-user</Location>如下截圖所示:注意:每次修改httpd.conf文件之后,記得保存,并且必須重新啟動(dòng)Ap
7、ache服務(wù)器之后才能生效。3、 可以注意到,這里在F:svnsvnprojectconf目錄下使用了另一個(gè)配置文件authz.conf具體操作步驟如下:1)初始時(shí),先分配一個(gè)管理員,其對(duì)整個(gè)配置庫具有讀寫權(quán)限,如: groupsadmin=sunfurong,zfqsvnproject:/admin=rw*=r2)如下操作:3)單擊【確定】后,如下圖所示:4)輸入相應(yīng)的用戶名和密碼后,單擊【確定】后,會(huì)出現(xiàn)一個(gè)空的配置庫(這個(gè)很重要,必須是空的配置庫才能保證以下操作的順利進(jìn)行。)4 同步備所需要的命令1、下面介紹利用svnsync來同步版本庫,達(dá)到備份版本庫的目的要用到兩個(gè)命令1)svnsy
8、nc init初始化,建立目標(biāo)庫和源庫之間的同步關(guān)系命令格式: svnsync init 目標(biāo)庫URL 源庫URL2) svnsync sync真正的同步命令格式 svnsync sync 目標(biāo)庫URL2、目標(biāo):本次實(shí)現(xiàn)的是版本庫的遠(yuǎn)程自動(dòng)備份,將版本庫備份到另一臺(tái)機(jī)器上假設(shè)我們要同步的源版本庫為 35/svn/svnprojec位于機(jī)器A,具體路徑我們不必理會(huì),因?yàn)槲覀兪褂胔ttp協(xié)議目標(biāo)庫在機(jī)器B,file:/svn/svnproject,這個(gè)為了簡(jiǎn)單和安全,我們使用file:/協(xié)議3、過程:1)創(chuàng)建pre-revprop-change.bat文件:即復(fù)制
9、pre-revprop-change.tmpl ,將其擴(kuò)展名改為pre-revprop-change.bat,并且清空原有的所有內(nèi)容、保存。如下圖所示:·2)修改目標(biāo)庫的腳本pre-revprop-change進(jìn)入F:/svn/svnproject/hooks/cd /svn/svnproject/hooks/打開后末尾字段如下:REPOS="$1" REV="$2" USER="$3" PROPNAME="$4" ACTION="$5" if "$ACTION"
10、= "M" -a "$PROPNAME" = "svn:log" ; then exit 0; fi echo "Changing revision properties other than svn:log is prohibited" >&2 exit 1,原腳本的意思是如果修改的是svn:log屬性,將允許修改,返回0;否則,不允許,返回1,我們要將它改為允許修改所有的屬性,在腳本中直接返回0,新的腳本如下:exit 1àexit 0即可。4、初始化在機(jī)器B上輸入命令:svnsync
11、init file:/F:/svn/svnproject (有空格)35:8081/svn/svnproject會(huì)提示輸入用戶名和密碼,這里提供的用戶名和密碼是可以完全讀取于35:8081/svn/svnproject的計(jì)算機(jī)密碼,用戶名和密碼,,即如下圖:5、同步1) svnsync syncfile:/F:/svn/svnproject 依然會(huì)提示輸入用戶名和密碼,不過,你可以在這個(gè)命令之后加上 username 、password參數(shù),在目錄:C:Program FilesSubversionbin下輸入:svnsync
12、 syncfile:/F:/svn/svnproject -username username -password password如下圖所示: 如上截圖所示,會(huì)一直走下去直至目標(biāo)庫與源庫的版本號(hào)完全一致為止。2) 同步結(jié)束后,如下圖所示:到這一步時(shí),SVN遠(yuǎn)程備份就已經(jīng)完成了,如果版本庫較大時(shí),備份的時(shí)間可能會(huì)有點(diǎn)慢,要有耐心,用一天也是有可能的,你可以打開目標(biāo)庫看看,和源庫是一樣的。注意:應(yīng)該定期的一周或者兩周打開命令窗口輸入:svnsync syncfile:/F:/svn/svnproject已達(dá)到定期同步的目的。5具體操作操作流程概括:· 1、在要備份的機(jī)器上建立
13、版本庫:svnadmin create svn· 2、進(jìn)入hooks目錄:cd svn/svnproject/hooks/ · 3、創(chuàng)建pre-revprop-change.bat文件:復(fù)制pre-revprop-change.tmpl ,將擴(kuò)展名改為pre-revprop-change.bat,并且清空原有的所有內(nèi)容,保存。· 4、修改文件: pre-revprop-change文件,為 echo “Changing revision properties other than svn:log is prohibited” >&2exit 0(1修
14、改為0即可) · 6、同步初步:svnsync init file:/F:/svn/svnproject 35:8081/svn/svnprojectsvnsync: Destination repository is already synchronizing from svn:/.1 · 7、實(shí)現(xiàn)同步:svnsync syncfile:/F:/svn/svnproject username username password password1 6遇到的問題與解決方法:Svnsync:Cannotinitialize(初始化)arepo
15、sitorywithcontentinit :當(dāng)版本庫有內(nèi)容時(shí)不能初始化如果反復(fù)操作都是同樣錯(cuò)誤的話,很可能是你版本庫有內(nèi)容,需要你版本庫svn,重新按照svn服務(wù)器的安裝手冊(cè)里SVN與apache的集成來重新新建版本庫。7同步工具svnsync出錯(cuò)常見問題一:在使用svnsync同步兩個(gè)版本庫時(shí)經(jīng)常出現(xiàn)如下的錯(cuò)誤,并自動(dòng)中斷了同步操作:Copied properties for revision 461.svnsync: Server sent unexpected return value (502 Bad Gateway) in response to PROPFIND request
16、for /svn/!svn/vcc/default當(dāng)再次運(yùn)行svnsync syncfile:/F:/svn/svnproject時(shí),有可能出現(xiàn)“Failed to get lock on destination repos”的錯(cuò)誤信息,使同步操作無法繼續(xù)進(jìn)行:F:Subversion> svnsync syncfile:/F:/svn/svnprojectFailed to get lock on destination repos, currently held by firehack:963c0909-45ad-644f-b383-7e35d445028fFailed to get
17、 lock on destination repos, currently held by firehack:963c0909-45ad-644f-b383-7e35d445028fsvnsync: Couldnt get lock on destination repos after 10 attempts解決辦法:刪除SVN倉庫修訂號(hào)0 svn:sync-lock的保護(hù).svn propdel svn:sync-lock -revprop -r 0 file:/F:/svn/svnproject常見問題二:一個(gè)意外情況:我在測(cè)試中,發(fā)現(xiàn)如下錯(cuò)誤 Copied propertie
18、s for revision 738.Committed revision 739.Copied properties for revision 739.Committed revision 740.Copied properties for revision 740.Committed revision 741.Copied properties for revision 741.svnsync: REPORT 請(qǐng)求“10:8081/svn/svnproject”失敗svnsync: REPORT 的結(jié)果”10:8081/s
19、vn/svnproject”: 200 OK (10:8081/svn/svnproject)解決辦法:打開備份的配置庫,將其中空的文件夾進(jìn)行刪除或是新建,對(duì)最后的版本進(jìn)行覆蓋即可。產(chǎn)生原因:是對(duì)某個(gè)操作的無法識(shí)別導(dǎo)致,需要知道的是與Apache集成的配置庫是不支持中文格式,包括空白字符、空格,所以配置庫極為脆弱,需要好好維護(hù),到后面SVN雖然有升級(jí),但是這個(gè)Bug仍然存在,也許到后面的學(xué)習(xí)中,我會(huì)有辦法徹底解決。8使用svnsync備份步驟如下:一、在備份機(jī)上創(chuàng)建一個(gè)空庫:svnadmin create svn二、更改該庫的鉤子腳本pre
20、-revprop-change(因?yàn)閟vnsync要改這個(gè)庫的屬性,也就是要將源庫的屬性備份到這個(gè)庫,所以要啟用這個(gè)腳本): cd F:/svn/svnproject/hooks; cp pre-revprop-change.tmpl pre-revprop-change; chmod 755 pre-revprop-change; vi pre-revprop-change; 將該腳本后面的三句注釋掉,
21、或者干脆將它弄成一個(gè)空文件。 三、初始化,此時(shí)還沒有備份任何數(shù)據(jù): svnsync init file:/F:/svn/svnproject 35:8081/svn/svnproject 語法是:svnsync init 你剛創(chuàng)建的庫url 源庫url 注意本地url是三個(gè)斜杠的:/ 四、開始備份: svnsync sync file:/F:/svn/svnproject這時(shí)就一個(gè)個(gè)版本進(jìn)行備份了。附
22、錄:可能的報(bào)錯(cuò)一: Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410
23、-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by ':0c42
24、4c20-2e3b-0410-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by
25、160;':0c424c20-2e3b-0410-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02' Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 擁抱未來紅色典禮分享與總結(jié)
- 合同家具協(xié)議書怎么寫
- 淮安市高層建筑日照分析管理規(guī)定
- 項(xiàng)目工程終止合同協(xié)議書
- 裝修合同終止協(xié)議書范文
- 房屋出售合同付款協(xié)議書
- 勞務(wù)分包合同終止協(xié)議書
- 消防排煙改造合同協(xié)議書
- 股份合同協(xié)議書范本承包
- 技術(shù)合同協(xié)議書模板圖片
- 肥胖癥診療指南(2024年版)解讀
- 麥?zhǔn)障腊踩嘤?xùn)課件
- 《科普技巧常識(shí)》課件
- 2025年中國全電腦橫機(jī)市場(chǎng)現(xiàn)狀分析及前景預(yù)測(cè)報(bào)告
- 大型活動(dòng)場(chǎng)館停車管理方案與技術(shù)措施
- 醫(yī)院基建管理試題及答案
- 2025年全國保密教育線上培訓(xùn)考試試題庫及答案(奪冠)帶答案詳解
- 滬教牛津版(深圳用)英語五年級(jí)下冊(cè)Unit-11-Chinese-festivals課件
- 2025-2030中國職業(yè)資格培訓(xùn)行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與投資前景研究報(bào)告
- 甘露特鈉膠囊聯(lián)合多奈哌齊片治療輕中度阿爾茨海默病的療效及腸道菌群影響
- 2025科技輔導(dǎo)員培訓(xùn)
評(píng)論
0/150
提交評(píng)論