svnsync实现版本库的同步备份

实验环境:
A,10.10.10.1(主)
B,10.10.10.2(备)

项目需求,生产环境要求svn服务器实现热备机制,于是就想到了svn自带的svnsync机制,操作流程如下:

1、在要备份的机器上(10.10.10.2)建立版本库
mkdir -p /svnsync/test
svnadmin create /svnsync/test

2、进入备份机器(10.10.10.2)版本库test下的hooks目录。
cd /svnsync/test/hooks/

3、创建pre-revprop-change文件
cp pre-revprop-change.tmpl pre-revprop-change

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

6、修改pre-revprop-change内容
为 echo “Changing revision properties other than svn:log is prohibited” >&2
exit 0(1修改为0)

说明如下:
原脚本的意思是如果修改的是svn:log属性,将允许修改,返回0;否则,不允许,返回1
我们要将它改为允许修改所有的属性,在脚本中直接返回0

7、在备份机器上执行同步初始化操作
svnsync init file:///svnsync/test svn://10.10.10.1/test --username test --password test

会出现以下信息:
Copied properties for revision 0.


8、在备份机器上执行同步操作
svnsync sync file:///svnsync/test

会出现以下信息:
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.


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

做了下即时同步,结果没有成功,以后再实验,有经验的朋友可以给小弟提供下参考资料。


注意事项:
svnsync 是 subversion 一个同步工具。当设定好hook并且做过初始化的动作之后,往后的commission都会同步到所设定的另外一个repository中。然而有的時候因为网络断线或者其他因素导致sync程序中止,则在下一次执行svnsync的时候可能会出现以下的问题:

Failed to get lock on destination repos,currently held by 'linux-kbp0:07f6a180-ea47-11de-8346-ddb1d640fb86'
Failed to get lock on destination repos,currently held by 'linux-kbp0:07f6a180-ea47-11de-8346-ddb1d640fb86'
Failed to get lock on destination repos,currently held by 'linux-kbp0:07f6a180-ea47-11de-8346-ddb1d640fb86'

这个时候可能属性被锁了,删掉目的版本库的属性,解决办法如下:
删除SVN仓库修订号0,svn:sync-lock的保护

svn propdel svn:sync-lock --revprop -r 0 file:///svnsync/test(目的同步库)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SVN(Subversion)是一个版本控制系统,它可以帮助团队协作开发和管理项目的代码。在使用SVN之前,你需要先创建一个版本(Repository),然后才能在该版本中进行代码的版本控制。 要创建一个SVN版本,你可以按照以下步骤进行操作: 1. 安装SVN服务器:首先,你需要在你的服务器上安装SVN服务器软件。常用的SVN服务器软件有Apache Subversion(简称Apache SVN)和VisualSVN Server等。你可以根据自己的需求选择合适的SVN服务器软件进行安装。 2. 配置SVN服务器:安装完成后,你需要进行SVN服务器的配置。具体配置方式会因不同的SVN服务器软件而有所不同,但通常需要指定版本的路径、访问权限等信息。 3. 创建版本:在SVN服务器配置完成后,你可以使用SVN客户端工具来创建版本。SVN客户端工具有很多种,比如TortoiseSVN、SmartSVN等。这里以TortoiseSVN为例进行介绍。 - 下载并安装TortoiseSVN:首先,你需要下载并安装TortoiseSVN客户端工具。你可以在TortoiseSVN官方网站上下载最新版本的安装包,并按照安装向导进行安装。 - 创建版本:安装完成后,在你想要创建版本的目录上,右键点击鼠标,选择"TortoiseSVN",然后选择"Create Repository here"。接着,选择版本的类型(如标准文件系统、Berkeley DB等),并指定版本的名称和路径。 4. 配置访问权限:创建版本后,你可能需要配置访问权限,以控制谁可以对版本进行读写操作。具体的权限配置方式也会因SVN服务器软件而有所不同,你可以参考相应的文档进行配置。 至此,你已经成功创建了一个SVN版本。接下来,你可以使用SVN客户端工具来进行代码的版本控制、提交修改等操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老帽爬新坡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值