教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 电脑教学 > 软件 >

如何使用svnsync命令备份svn服务器的方法

时间:2013-01-17 15:19来源:未知 作者:ken 点击:

使用svnsync备份很简单,步骤如下:

源目录:            svn://srcIP/taobaotop 
目标目录:           svn://desIP/taobaotop 
如果目标目录存在相同的项目,请先清除,重新建立空项目,比如:

      mkdir -p /data/svndata/taobaotop 
 
     svnadmin create /data/svndata/taobaotop 
 
     2.启动从机上的svn
 
     svnserve -d -r /data/svndata/
 
    3.在从机上执行:
 
     cd /data/svndata/taobaotop/hooks
 
     cp  pre-revprop-change.tmpl  pre-revprop-change
 
     vi pre-revprop-change
 
      把 pre-revprop-change最后一行改成  exit 0,然后 chmod 755 pre-revprop-change
 
4.把主机上的/data/svndata/taobaotop/conf目录打个包,发到从机的同样路径,覆盖解压。
 
      5. 在从机上执行  
       svnsync init file:///data/svndata/taobaotop svn:// srcIP/taobaotop  
       中途会问你主机的root密码及svn的用户名 密码,填入即可。然后显示: 
       Copied properties for revision 0.(复制版本 0 的属性。)
 
       6.初始化完成后,执行
       svnsync sync file:///data/svndata/taobaotop 进行同步     
 
       7.  为了能够在主机更新时,从机自动同步,需要在主机做些操作。
         在主机/hooks/下建立/修改post-commit脚本,在其中增加一行,内容如下:
         svnsync sync  --non-interactive svn://desIP/taobaotop  --username name --password pwd

附录: 站长教学网 eduyo.com
可能的报错一:
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'
svnsync: Couldn't get lock on destination repos after 10 attempts
这个时候可能属性被锁了,删掉属性:
svn propdel svn:sync-lock --revprop -r0 file:///home/backup/svn/svnsync/SMP
删除成功后,再试一遍基本就可以了。
如果反复操作都是同样错误的话,有可能是你的svn安装的有问题,重新安装一遍就好了,俺就是这样。

可能报错二、
svnsync: REPORT request failed on 'http://svn1.subversion.com/repos/Relevance'
svnsync: The requested report is unknown.
这是因为你源库的版本太低了,svnsync所需要的函数Report是svn1.4后加入的。没办法,对你的库进行升级后才能备份。
 

(责任编辑:ken)
TAG标签: 备份 SVN svnsync
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容