svn主主互备

898 阅读1分钟

简介

网上的svn热备教程多为主备同步,使用一台从服务器同步主服务器,使实现在主服务器提交修改自动备份到从服务器,而无法把从服务器中的操作同步到主服务器,本文是用于实现svn双机互备即双向同步的教程。

1 部署说明

1.1 环境准备

svn的版本需为1.4以上

IP地址操作系统软件版本
192.168.15.12,192.168.15.11Centos 7.8subversion-1.7.14-16.el7.x86_64

1.2 初始配置

1.2.1 创建库

[root@localhost]# mkdir -p /opt/svn/repositories

[root@localhost]# svnadmin create /opt/svn/repositories

1.2.2 修改配置文件

[root@localhost]# cd /opt/svn/repositories/

  1. 修改svnserve.conf

在末尾添加

anon-access=none

auth-access=write

password-db=passwd

authz-db=authz

  1. 修改passwd

在[user] 标签下面加上账号密码(格式:账号 = 密码)

[users]

user = 123456

  1. 修改authz

[groups]下添加admin = user(格式:用户组 = 用户)

[/]下加@admin = rw(格式:@用户组 = 权限)

image-20210616093204593

1.3 启动svn

[root@localhost]# svnserve -d -r /opt/svn/repositories/

(没指明具体哪台主机的部分,两台都要操作)

2 互相同步

2.1 配置hooks

[root@localhost]# cd /opt/svn/repositories/hooks

[root@localhost]# cp pre-revprop-change.tmpl pre-revprop-change

[root@localhost]# vi pre-revprop-change

把末尾的exit 1 改为exit 0

[root@localhost]# chmod +x pre-revprop-change

image-20210615174949455

2.2 svnsync初始化

在主机192.168.15.11执行

[root@localhost]# svnsync init svn://192.168.15.12 svn://192.168.15.11

在主机192.168.15.12执行

[root@localhost]# svnsync init svn://192.168.15.11 svn://192.168.15.12

root’s password:直接回车

user:user

password:123456

Store password unencrypted(yes/no)? yes

2.3 自动同步

在post-commit中添加同步命令实现提交后自动同步

[root@localhost]# cd /opt/svn/repositories/hooks

[root@localhost]# cp post-commit.tmpl post-commit

[root@localhost]# chmod 755 post-commit

[root@localhost]# vi post-commit

注释掉mailer.py commit "REPOS""REPOS" "REV" /path/to/mailer.conf,

192.168.15.11主机添加以下两句

svnsync sync --non-interactive svn://192.168.15.12 --username user --password 123456

svn propset --revprop -r0 svn:sync-last-merged-rev $REV svn://192.168.15.11

192.168.15.12主机添加以下两句

svnsync sync --non-interactive svn://192.168.15.11 --username user --password 123456

svn propset --revprop -r0 svn:sync-last-merged-rev $REV svn://192.168.15.12

image-20210615174957995

参考文章:svnbook.red-bean.com/en/1.7/svn.…

jingyan.baidu.com/article/a37…