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

svnsync实现版本库的同步备份相关推荐

  1. SVN版本库的异地备份

     现在开发通常都会用SVN来进行版本控制,并且SVN服务端也都会统一的建立到某个服务器上来保存项目源码,这没什么问题.但是如果有一天服务器发生了不可恢复的故障,这将造成不可弥补的巨大损失.所以我们 ...

  2. linuxSVN版本库及同步文件到WEB目录

    一 安装与配置SVN 1.安装subversion centos: yum install subversion ubuntu: apt-get install subversion 2.建立版本库, ...

  3. svn 同步备份的所有问题,亲测可用

    svnsync 异地同步收获 (2010-07-06 10:06:19) 转载▼ 标签: 杂谈 分类: svn svnsync 异地同步收获: 来自:我用Subversion - http://www ...

  4. Git版本控制管理——远程版本库

    之前提到的Git的所有操作都是在本地完成的,而实际项目开发并不是一个人就可以搞定的,通常需要团队的协作,而这些协作可能又不是在同一个地区的,这就涉及到Git的分布式特性了. Git的分布式特定会涉及到 ...

  5. VisualSVN Server版本库搭建

    VisualSVN Server版本库搭建 VisualsvnServer用途: 软件开发公司的代码是公司的核心,是公司最需要保护的文件资源,为了防止公司代码的泄露,放到公网的免费版本控制服务器商虽然 ...

  6. 工作随笔——使用svnsync实时备份SVN版本库

    前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...

  7. SVN+post-commit 搭建自动同步版本库

    一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...

  8. window操作系统下SVN通过sync命令增量同步备份,首次全量备份(单机备份双机备份均可)

    目录 一.准备环境 二.备份步骤 三.可能出现的问题 一.准备环境 1.两台机器操作系统为window系统,网络要能通信.均安装了VisualSVN-Server服务端:一台源库,一台目标备份库(我本 ...

  9. 关于git远程版本库的一些问题之解决

    Part1:CentOS6.5免密码登录 修改/etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes Authorize ...

最新文章

  1. xuanke java_wangshangxuankexitong - WEB源码|JSP源码/Java|源代码 - 源码中国
  2. Oracle之物化视图
  3. 【shell 大系】Linux Shell常用技巧
  4. web---基础知识(更新中)
  5. 今日新鲜事python_今日新鲜事励志的句子致自己
  6. 鹿邑2021高考成绩查询,鹿邑中考成绩查询2021
  7. insert sort
  8. linux vi 上下左右 ab,【Linux】Ubuntu vi 上下左右变ABCD及 apt-get install报错问题解决方法...
  9. SAP License:我们到底需要什么能力?
  10. python图片顶端_用python进行图片整理
  11. 斜杠“/”与反斜杠“\”的区别
  12. 工控安全| 西门子S7-300攻击分析
  13. 购买装备 shu420
  14. tangent space与object space
  15. 数学建模比赛经验总结
  16. js控制excel打印完美解决方案(转)
  17. 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
  18. Java集合判空/非空
  19. 到底什么是STN技术?
  20. Unity Shader标准光照模型——高光反射

热门文章

  1. 将tomcat添加到服务中
  2. 2016和2017的区别就是昨晚和今早
  3. IDE-Ecplise-代码注释 模版 编码规范 配色
  4. 全国计算机等级考试题库二级C操作题100套(第06套)
  5. html中免费的四级联动,利用JS实现省市区街道四级联动插件
  6. oracle 不等于某类,Oracle如何查询不等于某数值
  7. python列表有固定大小吗,使用python自己写了一个固定长度的list
  8. mysql循环load data_TP5框架下MySQL通过LOAD DATA INFILE批量导入数据详细操作
  9. linux 股票指南针,IOS开发入门之ios指南针
  10. Qt QProces的使用