遠程備份簡單操作手冊_第1頁
遠程備份簡單操作手冊_第2頁
遠程備份簡單操作手冊_第3頁
遠程備份簡單操作手冊_第4頁
遠程備份簡單操作手冊_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、遠程備份簡單操作 >版本:1.0發(fā)布日期:2010-11-2實施日期:2010-11-9修訂記錄日期版次描述作者審核批準2010-11-21.0初版發(fā)布,針對服務器版本。SUN2010-11-181.1添加了注意事項SUN目錄修訂記錄21 建立版本庫42 Apache方式下添加用戶53 Apache方式下分組權限管理74 同步備所需要的命令95具體操作操作流程概括:136遇到的問題與解決方法:147 Subversion同步工具svnsync出錯:Failed to get lock on destination repos148使用svnsync備份很簡單,步驟如下:159注意事項:1

2、81 建立版本庫1、在Dos命令行方式下,進入svn安裝目錄下的bin目錄(如C:Program FilesSubversionbin)下,輸入命令 svnadmin create 路徑+版本庫名,即:SvnadmincreateF:/svnEnter鍵后會自動創(chuàng)建svn文件夾,如下圖所示:2、進入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ī)定的范圍內可以任意改變端口號)。改為:版本庫建好就要與Apache發(fā)生聯系了。2 Apache方式下添加用戶1、首先,我們來為SVN配置庫創(chuàng)建第一個用戶zfq,在命令行窗口中轉到Apach

4、ehtpasswd工具所在的目錄(如:C:Program FilesApache GroupApache2bin)下輸入如下命令:Htpasswd -cF:svnsvnprojectconfuser zfq這時,會提示輸入用戶密碼以及確認用戶密碼。注意這里是創(chuàng)建第一個用戶,所以需要有-c開關。一定要注意:創(chuàng)建第二個用戶時,我們就不必輸入 -c 開關了。如果想要刪除某個用戶,我們可以使用下列指令:Htpasswd d F:svnsvnprojectconfuser harry2、再在配置文件httpd.conf的最后加入下面的指令以增加權限:<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方式下分組權限管理1、有時,我們希望能夠將多個開發(fā)人員編為一組,使用組的方式來為項目設定權限。比如 projectA 項目只有屬于 gr

6、oupA 的成員才可以存取2、我們對 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文件之后,記得保存,并且必須重新啟動Ap

7、ache服務器之后才能生效。3、 可以注意到,這里在F:svnsvnprojectconf目錄下使用了另一個配置文件authz.conf具體操作步驟如下:1)初始時,先分配一個管理員,其對整個配置庫具有讀寫權限,如: groupsadmin=sunfurong,zfqsvnproject:/admin=rw*=r2)如下操作:3)單擊【確定】后,如下圖所示:4)輸入相應的用戶名和密碼后,單擊【確定】后,會出現一個空的配置庫(這個很重要,必須是空的配置庫才能保證以下操作的順利進行。)4 同步備所需要的命令1、下面介紹利用svnsync來同步版本庫,達到備份版本庫的目的要用到兩個命令1)svnsy

8、nc init初始化,建立目標庫和源庫之間的同步關系命令格式: svnsync init 目標庫URL 源庫URL2) svnsync sync真正的同步命令格式 svnsync sync 目標庫URL2、目標:本次實現的是版本庫的遠程自動備份,將版本庫備份到另一臺機器上假設我們要同步的源版本庫為 35/svn/svnprojec位于機器A,具體路徑我們不必理會,因為我們使用http協(xié)議目標庫在機器B,file:/svn/svnproject,這個為了簡單和安全,我們使用file:/協(xié)議3、過程:1)創(chuàng)建pre-revprop-change.bat文件:即復制

9、pre-revprop-change.tmpl ,將其擴展名改為pre-revprop-change.bat,并且清空原有的所有內容、保存。如下圖所示:·2)修改目標庫的腳本pre-revprop-change進入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、初始化在機器B上輸入命令:svnsync

11、init file:/F:/svn/svnproject (有空格)35:8081/svn/svnproject會提示輸入用戶名和密碼,這里提供的用戶名和密碼是可以完全讀取于35:8081/svn/svnproject的計算機密碼,用戶名和密碼,,即如下圖:5、同步1) svnsync syncfile:/F:/svn/svnproject 依然會提示輸入用戶名和密碼,不過,你可以在這個命令之后加上 username 、password參數,在目錄:C:Program FilesSubversionbin下輸入:svnsync

12、 syncfile:/F:/svn/svnproject -username username -password password如下圖所示: 如上截圖所示,會一直走下去直至目標庫與源庫的版本號完全一致為止。2) 同步結束后,如下圖所示:到這一步時,SVN遠程備份就已經完成了,如果版本庫較大時,備份的時間可能會有點慢,要有耐心,用一天也是有可能的,你可以打開目標庫看看,和源庫是一樣的。注意:應該定期的一周或者兩周打開命令窗口輸入:svnsync syncfile:/F:/svn/svnproject已達到定期同步的目的。5具體操作操作流程概括:· 1、在要備份的機器上建立

13、版本庫:svnadmin create svn· 2、進入hooks目錄:cd svn/svnproject/hooks/ · 3、創(chuàng)建pre-revprop-change.bat文件:復制pre-revprop-change.tmpl ,將擴展名改為pre-revprop-change.bat,并且清空原有的所有內容,保存。· 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、實現同步:svnsync syncfile:/F:/svn/svnproject username username password password1 6遇到的問題與解決方法:Svnsync:Cannotinitialize(初始化)arepo

15、sitorywithcontentinit :當版本庫有內容時不能初始化如果反復操作都是同樣錯誤的話,很可能是你版本庫有內容,需要你版本庫svn,重新按照svn服務器的安裝手冊里SVN與apache的集成來重新新建版本庫。7同步工具svnsync出錯常見問題一:在使用svnsync同步兩個版本庫時經常出現如下的錯誤,并自動中斷了同步操作: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當再次運行svnsync syncfile:/F:/svn/svnproject時,有可能出現“Failed to get lock on destination repos”的錯誤信息,使同步操作無法繼續(xù)進行: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倉庫修訂號0  svn:sync-lock的保護.svn propdel svn:sync-lock -revprop -r 0 file:/F:/svn/svnproject常見問題二:一個意外情況:我在測試中,發(fā)現如下錯誤 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 請求“10:8081/svn/svnproject”失敗svnsync: REPORT 的結果”10:8081/s

19、vn/svnproject”: 200 OK (10:8081/svn/svnproject)解決辦法:打開備份的配置庫,將其中空的文件夾進行刪除或是新建,對最后的版本進行覆蓋即可。產生原因:是對某個操作的無法識別導致,需要知道的是與Apache集成的配置庫是不支持中文格式,包括空白字符、空格,所以配置庫極為脆弱,需要好好維護,到后面SVN雖然有升級,但是這個Bug仍然存在,也許到后面的學習中,我會有辦法徹底解決。8使用svnsync備份步驟如下:一、在備份機上創(chuàng)建一個空庫:svnadmin create svn二、更改該庫的鉤子腳本pre

20、-revprop-change(因為svnsync要改這個庫的屬性,也就是要將源庫的屬性備份到這個庫,所以要啟用這個腳本):    cd F:/svn/svnproject/hooks;   cp pre-revprop-change.tmpl pre-revprop-change;   chmod 755 pre-revprop-change;   vi pre-revprop-change;   將該腳本后面的三句注釋掉,

21、或者干脆將它弄成一個空文件。 三、初始化,此時還沒有備份任何數據:  svnsync init file:/F:/svn/svnproject 35:8081/svn/svnproject  語法是:svnsync init 你剛創(chuàng)建的庫url 源庫url   注意本地url是三個斜杠的:/ 四、開始備份:   svnsync sync file:/F:/svn/svnproject這時就一個個版本進行備份了。附

22、錄:可能的報錯一: 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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論