svn双机热备
1、前言
svn的双机热备。
2、实践部分
2.1、环境
svnSer:
ipaddress=10.168.0.176
hostname=svnSer
svn-slaveSer:
ipaddress=10.168.0.179
hostname=svn-slaveSer
2.2、svnSer安装配置(Master)
In svnSer:
请参阅如下文章安装配置
http://cmdschool.blog.51cto.com/2420395/1715856
并增加如下配置
In svnSer:
1)定义svn备份管理员的用户名和密码
vim修改/var/local/svn/conf/passwd
增加如下定义:
bkuser = bkpwd
2)定义svn备份管理员的组、组成员和目录的组权限:
vim修改/var/local/svn/conf/authz
[groups]
admin_rw = bkuser
[/]
@admin_rw = rw
3)重启服务
/etc/init.d/svnserve restart
2.3、svn-slaveSer的安装配置(Slave)
2.3.1、step1
基本环境配置
In svn-slaveSer:
1)yum安装
yum -y install subversion
2)定义库文件夹
svnadmin create /var/local/svn
3)启动并设置服务开机启动
/etc/init.d/svnserve start
chkconfig svnserve on
4)设置防火墙
vim编辑/etc/sysconfig/iptables
加入如下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
5)重启防火墙
/etc/init.d/iptables restart
2.3.2、step2
In svn-slaveSer:
cd /var/local/svn/hooks/
cp pre-revprop-change.tmpl pre-revprop-change
chmod 744 pre-revprop-change
ll pre-revprop-change
vim编辑/var/local/svn/hooks/pre-revprop-change
修改最后一行
修改前:
exit 1
修改后:
exit 0
注:允许修改注释
2.3.3、step3
获取Master的配置文件
In svn-slaveSer:
1)复制配置文件
scp 10.168.0.176:/var/local/svn/conf/* /var/local/svn/conf/
2)重启服务
/etc/init.d/svnserve restart
2.3.4、step4
初始化同步信息
In svn-slaveSer
svnsync init svn://10.168.0.176/var/local/svn svn://10.168.0.176/var/local/svn
以上步骤会询问你svn的账号和密码,输入前面定义的用户名和密码:
用户名:bkuser
密码:bkpwd
注:svn://10.168.0.176/var/local/svn中var/local/svn代表具体仓路径,并不是svn安装路径,svn://10.168.0.176/var/local/svn亦是如此。前面一个地址是从库,后面一个地址是主库。
2.3.5、step5
同步测试
In svn-slaveSer:
svnsync sync svn://10.168.0.176/var/local/svn
该步骤中如果要同步整个svn,则只需要填入svn://10.168.0.176即可。
以上步骤会询问你svn的账号和密码,输入前面定义的用户名和密码:
用户名:bkuser
密码:bkpwd
成功后的同步结果:
2.3.5、step5
设置用户提交自动同步
In svnSer:
cd /var/local/svn/hooks/
cp post-commit.tmpl post-commit
chmod 700 post-commit
ll post-commit
vim编辑/var/local/svn/hooks/post-commit
末尾删除如下内容:
REPOS="$1"
REV="$2"
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
增加如下内容:
svnsync sync --non-interactive svn://10.168.0.179/var/local/svn --username bkuser --password bkpwd
以上语句建议先执行一次测试可用再写入post-commit
2.3.6、step6
检查同步情况:
1)桌面新建两个文件夹,pojectA与pojectB
2)分别做如下检出:
注意:以上检出的IP地址分别对应svnSer与svn-slaveSer
3)以上都单击【OK】后检出完毕,记录当前的版本号。
4)更新projetA文件夹的内容并做提交操作并记录提交后的版本号。
5)projetB做更新操作,并查看更新后的版本号是否是刚由projectA提交的版本号。
ps:如果有权限问题的同学,记得直接运行如下代码,将svn权限赋给需要存在的组中,避免一些莫名其妙的错误出现。
sudo chown -R aaa:bbb /var/local/svn/
将aaa用户:bbb组 分配/var/local/svn/目录权限
推荐阅读
-
ensp双机热备实验
-
svn双机热备
-
KeepAlived+Redis+Haproxy实现主从热备、负载均衡
-
centos7下 Mysql+Keepalived 双主热备高可用图文配置详解
-
华为网络----防火墙双机热备实验(VGMP、HRP协议)
-
Nginx之Keepalived实现高可用(双机热备+自动切换)-yellowcong
-
Mysql备份整理(冷备与热备)
-
RedHat5.9通过Keepalived双机热备Nginx 博客分类: redhat5hakeepalivednginx redhat5hakeepalivednginx
-
Keepalived+Nginx 实现双机热备 博客分类: Cluster Cluster
-
MYSQL 主主热备高可用方案与实现 博客分类: mysql