SVN主从备份
SVN主从备份
两套环境:192.168.67.63(主SVN)
192.168.67.60(从SVN)
1.主环境上已经装好SVN并且存在数据仓库/home/svndata在从环境上,新建一/home/svndata_bak仓库:
[root@bsdi home]# svnadmin create /home/svndata_bak
[root@bsdi home]# ll
总用量
drwx------. bhd bhd 4月 bhd
drwxr-xr-x. root root 12月 : svndata_bak
[root@bsdi home]# cd svndata_bak/
[root@bsdi svndata_bak]# ll
总用量
drwxr-xr-x. root root 12月 : conf
drwxr-sr-x. root root 12月 : db
-r--r--r--. root root 12月 : format
drwxr-xr-x. root root 12月 : hooks
drwxr-xr-x. root root 12月 : locks
-rw-r--r--. root root 12月 : README.txt
2.把主环境上的conf下的authz、passwd、svnserve.conf拷贝覆盖掉从环境上的conf下的文件,覆盖之后注意修改svnserve.conf中的路径设置,并且主从环境上的svnserve.conf中的anon-access都要设置成none:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /home/svndata_bak
3.修改hooks文件夹下的pre-revprop-change(注意主从环境上的都要做同样的修改):
[root@bsdi hooks]# vim pre-revprop-change.tmpl
#!/bin/sh
exit 0
[root@bsdi hooks]# mv pre-revprop-change.tmpl pre-revprop-change
[root@bsdi hooks]# chmod +x pre-revprop-change
4.设置完成之后启动svn,这样就得到一个和主环境上相同用户和权限的从SVN库:
[root@bsdi hooks]# svnserve -d -r /home/svndata_bak --listen-port 2396
5.接下来在主环境上操作,如下这一条命令是初始化版本:
[root@bsdi hooks]# svnsync init svn://192.168.67.60:2396 svn://192.168.67.63:2396 --username limang --password pwd123!@ --no-auth-cache
复制版本 的属性。
[root@bsdi hooks]#
6.同步数据:
[root@bsdi hooks]# svnsync sync --non-interactive svn://192.168.67.60:2396 --username limang --password pwd123!@
已提交版本 。
复制版本 的属性。
传输文件数据......................................................................................................................................................................
已提交版本 。
复制版本 的属性。
传输文件数据.
已提交版本 。
复制版本 的属性。
[root@vasoyn hooks]#
此时主从数据已经成功同步,在svn浏览器中访问从环境,发现已存在一个一摸一样的仓库。
7.接下来在主环境上使用hooks下的post-commit脚本进行SVN实时同步:
修改post-commit如下:
[root@bsdi hooks]# vim post-commit.tmpl
#!/bin/sh
svnsync sync --non-interactive svn://192.168.67.60:2396 --username limang --password pwd123!@
[root@bsdi hooks]# mv post-commit.tmpl post-commit
[root@bsdi hooks]# chmod +x post-commit
此时当主环境上SVN有代码提交时,会触发这个脚本并执行里面的命令实现主从同步。
8.设置SVN开机启动:
SVN主从同步的前提是,主从SVN可以互相访问,所以需要将主从SVN都设置开机启动:
修改/etc/rc.d/rc.local并设置该文件为可执行文件:
[root@bsdi hooks]# vim /etc/rc.d/rc.local
#!/bin/bash
svnserve -d -r /home/svndata --listen-port 2396
[root@bsdi hooks]# chmod +x /etc/rc.d/rc.local
[root@bsdi hooks]#
SVN主从备份的更多相关文章
- 关于Subversion主从备份方式的调整(全量、增量脚本)更新
本文引用于http://blog.chinaunix.net/uid-25266990-id-3369172.html 之前对Subversion服务器作了迁移,关于SVN的架构也走了调整,有单一的服 ...
- 单机部署redis主从备份
redis为了避免单点故障,也支持主从备份.个人在做主从备份的实验时,因为机器数量有限,一般非常少有多台机器做支撑. 本文就将叙述怎样在一台电脑上实现redis的主从备份. 同一台机器上部署多个red ...
- mysql主从备份及常见问题处理
1.mysql主从备份基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新 ...
- mysql主从备份+keepalived自动切换
数据库这一层需要做到避免单点故障可以是主从备份和主主备份,主主备份可能有性能损耗和数据同步的问题.这里记录下主从备份, mysql进行备份之前确保mysql的版本是一样的,我这里用的都是mysql5. ...
- mysql实现主从备份
mysql 主从备份的原理: 主服务器在做数据库操作的时候将所有的操作通过日志记录在binlog里面,有专门的文件存放.如localhost-bin.000003,这种,从服务器 和主服务配置好关系后 ...
- 检测MySQL主从备份是否运行
通过查看 slave 状态,确保 Slave_IO_Running: Yes Slave_SQL_Running: Yes #!/bin/bash#Author:Darius-Dmysql -uro ...
- MySQL主从备份配置实例
转载自:https://www.cnblogs.com/ahaii/p/6307648.html MySQL主从备份配置实例 场景: 1.主服务器192.168.0.225.从服务器192.168.0 ...
- Linux之svn数据备份、还原及迁移
前言 因管理需求现要将svn数据进行备份,作为运维小哥的我在收到指令后进行了相关操作.当然,领导告知的是要备份,但作为一个有思想的运维,我考虑到的是自己要干的不仅仅是备份操作,还要确保在备份后数据还原 ...
- mysql主从备份及原理分析
一.mysql主从备份(复制)的基本原理mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更 ...
随机推荐
- RabbitMQ学习之:(二)介绍 (转贴+我的评论)
转自:http://lostechies.com/derekgreer/2012/03/05/rabbitmq-for-windows-introduction/ RabbitMQ for Windo ...
- C# 批处理制作静默安装程序包
使用批处理+WinRAR制作静默安装程序包 @echo 安装完窗口会自动关闭!!! @echo off start /wait Lync.exe /Install /Silent start /wai ...
- 两种最常用的破解centos7忘掉密码的解决方案
第一种方法:设置光盘为第一启动项 第一步:进入bios界面 虚拟机中:点击左上角的虚拟机-->电源-->打开电源时进入固件 第二步:使用左右键选择上方的boot 按住shift+ 加号 ...
- IDEA结合GIT的使用
一.本地安装GIT 下载: https://git-scm.com/downloads 安装 略 配置环境变量 在 “我的电脑 --> 属性 --> 高级系统设置 -- > 环境变量 ...
- Java排序方法
下面是用JAVA代码实现的数据结构中的7种基本排序算法,希望对你有所帮助. (1)直接插入排序 /** 直接插入排序 **/ /** 数组是引用类型,元素值将被改变 **/ public static ...
- Linux服务器集群性能监控之Performance Co-Pilot(PCP)部署
转载自:https://blog.csdn.net/w84268426/article/details/78431778 在部署PCP时,我用到了两台cent os 7虚拟机. 1.官方安装文档htt ...
- java和delphi共用的des加密解密
java: import antlr.StringUtils;import org.jeecgframework.core.util.StringUtil; import java.security. ...
- 手写web框架之实现Bean容器
实现Bean容器 使用ClassHelper可以获取所加载的类,但无法通过类来实例化对象,因此我们需要提供一个反射工具类,让它封装java反射相关的API,对外提供更好用的工具方法.将该类命名为 ...
- Java和SQL取两个字符间的值
Java String str = "abcdefg"; String result = str.substring(str.indexOf(">")+1 ...
- 【AMAD】django-activity-stream
动机 简介 个人评分 动机 为你的django站点生成活动流(类似facebook feed).用户可以在个人feed页面看到订阅的人的活动流. 简介 django-activity-stream1中 ...