svnsync实现版本库的同步备份

实验环境:
A,172.17.201.243(主)
B,172.17.201.88(备)
 
项目需求,生产环境要求svn服务器实现热备机制,于是就想到了svn自带的svnsync机制,操作流程如下:
1、在要备份的机器上(172.17.201.88)建立版本库
mkdir -p /home/svn/SH2014/SVNdata
svnadmin create /home/svn/SH2014/SVNdata

2、进入备份机器(172.17.201.88)版本库SVNdata下的hooks目录。

cd /home/svn/SH2014/SVNdata/hooks/

3、创建pre-revprop-change文件

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

4、修改pre-revprop-change权限,更改为755

chmod 755 pre-revprop-change

5、修改pre-revprop-change内容

为 echo “Changing revision properties other than svn:log is prohibited” >&2
exit 0(1修改为0)

说明如下:

原脚本的意思是如果修改的是svn:log属性,将允许修改,返回0;否则,不允许,返回1
我们要将它改为允许修改所有的属性,在脚本中直接返回0
 
6、在备份机器上执行同步初始化操作
svnsync init file:///home/svn/SH2014/SVNdata http://172.17.201.243/SHSVN/SVNdata --username "svnadmin" --password "adminpassword"

会出现以下信息:

Copied properties for revision 0.

7、在备份机器上执行同步操作

svnsync sync file:///home/svn/SH2014/SVNdata

会出现以下信息:

Transmitting file data .
Committed revision 1.
Copied properties for revision 1.
Transmitting file data .
Committed revision 2.
Copied properties for revision 2.
Transmitting file data .
Committed revision 3.
Copied properties for revision 3.

出现以上信息就说明同步成功了。

 
8、设置备份库的uuid,uuid是respository创建时自动生成的一个随机数,SVN Client利用uuid判断是否为同一个库。
进入主机,查看主机库的uuid
svnlook uuid /home/svn/repos
会显示主机库的uuid
78312468-8f6a-4e0c-9dc4-2b397672ca84

进入备份机,查看备份机新建库的uuid

svnlook uuid /home/svn/SH2014/SVNdata

会显示新建库的uuid

c7717876-c1c0-4c6c-9b12-70b43bd7116b

将新建库的uuid改成与主机库的uuid相同

svnadmin setuuid /home/svn/SH2014/SVNdata 78312468-8f6a-4e0c-9dc4-2b397672ca84

再次查看新建库的uuid

svnlook uuid /home/svn/SH2014/SVNdata

会显示新库的uuid与主机库的uuid相同了

78312468-8f6a-4e0c-9dc4-2b397672ca84

9、配置Apache和权限

 

当出现主机宕机需要备份机马上顶上去时,修改一下IP即可。
客户端如果已经有checkout的项目,则需要relocate,relocate 前提条件就是uuid是相同的。

转载于:https://www.cnblogs.com/bajie22/p/5435127.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值