




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
远程备份简单操作远程备份简单操作 版本:1.0发布日期:2010-11-2实施日期:2010-11-9 修订记录日期版次描述作者审核批准2010-11-21.0初版发布,针对服务器版本1.4.2 。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注意事项:18第19 页1 建立版本库1、在Dos命令行方式下,进入svn安装目录下的bin目录(如C:Program FilesSubversionbin)下,输入命令 svnadmin create 路径+版本库名,即:Svnadmin create F:/svnEnter键后会自动创建svn文件夹,如下图所示:2、进入C:Program FilesApache GroupApache2bin目录下(仍然在Dos命令行方式下),输入svnadmin create F:/svn/svnproject3、在Apache安装目录下的conf目录下,用文本编辑器打开httpd.conf,在httpd.conf文件的最后语句中加入: dav svn svnparentpath F:svn 如下截图所示:httpd.conf有黑色的雪花(*)表示此文件正在被修改,提醒每次修改后要记得保存,这样,凡是在F盘下F:svn目录下的子目录, Apache 都交给 Subversion4)将httpd.conf中的Listen 80修改为Listen 8081(须在规定的范围内可以任意改变端口号)。改为:版本库建好就要与Apache发生联系了。2 Apache方式下添加用户1、首先,我们来为SVN配置库创建第一个用户zfq,在命令行窗口中转到Apache htpasswd工具所在的目录(如:C:Program FilesApache GroupApache2bin)下输入如下命令:Htpasswd -c F:svnsvnprojectconfuser zfq这时,会提示输入用户密码以及确认用户密码。注意这里是创建第一个用户,所以需要有-c开关。一定要注意:创建第二个用户时,我们就不必输入 -c 开关了。如果想要删除某个用户,我们可以使用下列指令:Htpasswd d F:svnsvnprojectconfuser harry2、再在配置文件httpd.conf的最后加入下面的指令以增加权限: dav svn svnparentpath F:svn# how to authenticate a user authtype basic authname Resources authuserfile F:svnsvnprojectconfuser# only authenticated users may access the repositoryRequire valid-user如截图所示:3 Apache方式下分组权限管理1、有时,我们希望能够将多个开发人员编为一组,使用组的方式来为项目设定权限。比如 projectA 项目只有属于 groupA 的成员才可以存取2、我们对 httpd.conf 中的目录配置再做一次修改: dav svn svnparentpath F:svn authtype basic authname Resources authuserfile F:svnsvnprojectconfuser authzsvnaccessfile F:svnsvnprojectconfauthz Require valid-user如下截图所示:注意:每次修改httpd.conf文件之后,记得保存,并且必须重新启动Apache服务器之后才能生效。3、 可以注意到,这里在F:svnsvnprojectconf目录下使用了另一个配置文件authz.conf具体操作步骤如下:1)初始时,先分配一个管理员,其对整个配置库具有读写权限,如: groupsadmin=sunfurong,zfqsvnproject:/admin=rw*=r2)如下操作:3)单击【确定】后,如下图所示:4)输入相应的用户名和密码后,单击【确定】后,会出现一个空的配置库(这个很重要,必须是空的配置库才能保证以下操作的顺利进行。)4 同步备所需要的命令1、下面介绍利用svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL2、目标:本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 35/svn/svnprojec位于机器A,具体路径我们不必理会,因为我们使用http协议目标库在机器B,file:/svn/svnproject,这个为了简单和安全,我们使用file:/协议3、过程:1)创建pre-revprop-change.bat文件:即复制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 = 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 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 sync file:/F:/svn/svnproject -username username -password password如下图所示:如上截图所示,会一直走下去直至目标库与源库的版本号完全一致为止。2) 同步结束后,如下图所示:到这一步时,SVN远程备份就已经完成了,如果版本库较大时,备份的时间可能会有点慢,要有耐心,用一天也是有可能的,你可以打开目标库看看,和源库是一样的。注意:应该定期的一周或者两周打开命令窗口输入:svnsync sync file:/F:/svn/svnproject 已达到定期同步的目的。5具体操作操作流程概括: 1、在要备份的机器上建立版本库:svnadmin create svn 2、进入hooks目录:cd svn/svnproject/hooks/ 3、创建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修改为0即可) 6、同步初步:svnsync init file:/F:/svn/svnproject 35:8081/svn/svnprojectsvnsync: Destination repository is already synchronizing from svn:/ 7、实现同步:svnsync sync file:/F:/svn/svnproject username username password password1 6遇到的问题与解决方法:Svnsync:Cannot initialize(初始化) a repository with content in it :当版本库有内容时不能初始化如果反复操作都是同样错误的话,很可能是你版本库有内容,需要你版本库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 for /svn/!svn/vcc/default当再次运行svnsync sync file:/F:/svn/svnproject时,有可能出现“Failed to get lock on destination repos”的错误信息,使同步操作无法继续进行:F:Subversion svnsync sync file:/F:/svn/svnprojectFailed to get lock on destination repos, currently held by firehack:963c0909-45ad-644f-b383-7e35d445028fFailed to get 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 常见问题二:一个意外情况:我在测试中,发现如下错误 Copied properties 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/svn/svnproject”: 200 OK (10:8081/svn/svnproject )解决办法:打开备份的配置库,将其中空的文件夹进行删除或是新建,对最后的版本进行覆盖即可。产生原因:是对某个操作的无法识别导致,需要知道的是与Apache集成的配置库是不支持中文格式,包括空白字符、空格,所以配置库极为脆弱,需要好好维护,到后面SVN虽然有升级,但是这个Bug仍然存在,也许到后面的学习中,我会有办法彻底解决。8使用svnsync备份步骤如下:一、在备份机上创建一个空库:svnadmincreatesvn二、更改该库的钩子脚本pre-revprop-change(因为svnsync要改这个库的属性,也就是要将源库的属性备份到这个库,所以要启用这个脚本): cdF:/svn/svnproject/hooks; cppre-revprop-change.tmplpre-revprop-change; chmod755pre-revprop-change; vipre-revprop-change; 将该脚本后面的三句注释掉,或者干脆将它弄成一个空文件。 三、初始化,此时还没有备份任何数据: svnsyncinitfile:/F:/svn/svnproject35:8081/svn/svnproject 语法是:svnsyncinit你刚创建的库url源库url 注意本地url是三个斜杠的:/ 四、开始备份: svnsyncsyncfile:/F:/svn/svnproject这时就一个个版本进行备份了。附录:可能的报错一: Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,:0c424c20-2e3b-0410-bd34-7fdd53c25d02 Failedtogetlockondestinationrepos,currentlyhe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管道安装考试题及答案
- 孤儿救助考试题及答案
- 幼儿园教学教案设计:不跟陌生人走
- 我最喜爱的书籍读后感(5篇)
- 防范病毒考试题及答案
- (正式版)DB15∕T 3685-2024 《严寒地区预制拼装箱型涵洞设计与施工技术规范》
- 车辆买卖合同及其附加条款
- (正式版)DB15∕T 3651-2024 《光伏项目防沙治沙技术规程》
- 动物口语考试题及答案
- 顶尖学校考试题及答案
- 2025年医疗工作人员定向招聘考试笔试试题(含答案)
- 第二单元混合运算单元测试卷(含答案) 2025-2026学年人教版三年级数学上册
- 2025年中央一号文件客观题及参考答案
- 出境人员行前安全培训课件
- 俄乌局势进展
- 2025甘肃兰州兴蓉环境发展有限责任公司招聘内控管理岗等岗位5人笔试模拟试题及答案解析
- 苏教版三年级上册数学全册教学设计(配2025年秋新版教材)
- 用电安全与消防知识培训课件
- 2025年法考真题及答案
- 基孔肯雅热防护知识科普课件
- 2025年思想政治教育实践考试试题及答案解析
评论
0/150
提交评论