svn服务器镜像备份

server master  192.168.0.100-->源版本库

server slave     192.168.0.101-->镜像版本库

1.初始化svnsync init svn://镜像版本库ip svn://源版本库ip

svnsync init svn://192.168.0.101/ svn://192.168.0.100/ 

2.执行备份 svnsync sync svn://镜像版本库ip

svnsync sync svn://192.168.0.101/

3.需要修改的地方

在server slave服务器版本库中添加 pre-revprop-change

#!/bin/sh  -->这个一定需要写上
exit 0
chmod +x pre-revprop-change 读写权限 775

在执行初始化动作时,需要填写server slave的账号和密码

配置完后可以再在从服务器上添加一个post-commit

#!/bin/sh 
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn
WEB=/mnt/www/wenyin
$SVN update $WEB --username 'admin' --password 'XXXXX'
svnsync sync  --non-interactive svn://192.168.0.1/ --username xxx --password xxx

 svnsync init svn://镜像版本库ip svn://源版本库ip

------------------------------svn同步时提示uuid错误
操作TortoiseSVN时,报如下错误:
Command Update
Repository UUID 'xxxxxxxx' doesn't match expected
UUID 'xxxxxxxx'
Finished!

可以看到,原来Repository创建者的UUID是前者,而现在所操作的是后者的UUID。
因此,目前的解决办法是:使用相关命令更新Repository的UUID。
具体办法如下:
1、首先查看项目的所有者的UUID
# svnlook uuid /var/svn/repos
xxxxxxx
2、更新项目的UUID
# svnadmin setuuid /var/svn/repos xxxxxxx
3、查看一下更新后的UUID
# svnlook uuid /var/svn/repos
附:
UUID是repository创建时自动生成的一个随机数, SVN Client利用UUID判断是否为同一个resp。一般遇到UUID不同时,需要重新checkout

posted @ 2017-08-28 18:55  叫我星宇  阅读(1176)  评论(0编辑  收藏  举报