svn服务用svnsync命令双机热备


源目录:            svn://srcIP/taobaotop
目标目录:           svn://desIP/taobaotop
步骤:


  1. 如果目标目录存在相同的项目,请先清除,重新建立空项目,比如:

      mkdir -p /data/svndata/taobaotop 

     svnadmin create /data/svndata/taobaotop 

    2.在从机上执行:

     cd /data/svndata/taobaotop/hooks

     cp  pre-revprop-change.tmpl  pre-revprop-change

备注:从机上需开启3690端口

     vi pre-revprop-change

      把 pre-revprop-change最后一行改成  exit 0,然后 chmod 755 pre-revprop-change

      3.把主机上的/data/svndata/taobaotop/conf目录打个包,发到从机的同样路径,覆盖解压。

       
      4. 在从机上执行 
       svnsync init file:///data/svndata/taobaotop svn:// srcIP/taobaotop 
       中途会问你主机的root密码及svn的用户名 密码,填入即可。然后显示:
       Copied properties for revision 0.(复制版本 0 的属性。)


       5.初始化完成后,执行
       svnsync sync file:///data/svndata/taobaotop 进行同步
     

       6.  为了能够在主机更新时,从机自动同步,需要在主机做些操作。
         在主机/hooks/下,

         
cp post-commit.tmpl post-commit        

          vipost-commit  ,删除最后的三行,然后增加一行,内容如下:
         svnsync sync  --non-interactive svn://desIP/taobaotop  --username name --password pwd

         7.启动从机上的svn

          svnserve -d -r /data/svndata/ 


问题解决:svnsync:E215004:Authentication failed

解决方案:修改svnserve.conf文件,把password-db和authz-db指向正确的目录

                 password-db = /data0/svn/conf/passwd
                 authz-db = /data0/svn/conf/authz



你可能感兴趣的:(svn,双机热备,svn)