Linux服务--svn版本管理主从配置

配置svnsync主从复制:
一.首先准备两台服务器,端口号3690都得打开。
二.通过yum install subversion -y安装svn
主服务器:192.168.248.135
从服务器:192.168.248.136
192.168.248.135主机配置
1.首先安装svn ,安装好以后,rpm -qa subversion 查看svn版本是否一样

yum install subversion 

2.创建svn源库目录

mkdir /home/svn

3.创建svn版本库

svnadmin create /home/svn/peace/
 cd /home/svn/peace/
 ls

4.修改conf下的三个配置文件
4.1修改文件svnserve.conf

[general]
anon-access=none    //匿名用户访问权限:无
auth-access=write   /普通用户访问权限:读、写
password-db=passwd    //密码文件 
authz-db=authz       //权限配置文件
realm=/opt/svn/peace     //版本库所在1
注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错

4.2配置文件passwd

[users] admin = admin

4.3配置文件authz

[/]
admin = rw
* = rw

5.修改钩子文件:/home/svn/peace/hooks

cd  /home/svn/peace/hooks
cp pre-revprop-change.tmpl pre-revprop-change
chmod 755 pre-revprop-change
vi pre-revprop-change
全部注释,结尾加
exit 0

修改配置文件post-commit 实现自动更新

cd  /home/svn/peace/hooks
cp post-commit.tmpl  post-commit
chmod 755 post-commit
全部注释,结尾加:
svnsync sync --non-interactive svn://10.129.13.136:3690 --username XX --password XX
export LANG=en_US.UTF-8        #避免主从编码不一致导致的错误

主机配置完成,启动svn

svnserve -d -r /home/svn/peace/ --listen-port 3690

备机配置:
1.首先安装svn ,安装好以后,rpm -qa subversion 查看svn版本是否一样

yum install subversion 

2.创建svn源库目录

mkdir /home/svn

3.创建svn版本库

svnadmin create /home/svn/peace/
 cd /home/svn/peace/
 ls

4.手动复制主库的配置文件

scp  主库IP:/home/svn/peace/conf/*   /home/svn/peace/conf/
cd /home/svn/peace/hooks
cp pre-revprop-change.tmpl pre-revprop-change
chmod 755 pre-revprop-change
vi pre-revprop-change
全部注释,结尾加
exit 0

启动备机启动:

svnserve -d -r /home/svn/peace/ --listen-port 3690

在主机实施初始化
初始化

svnsync init svn://192.168.248.136/ svn://192.168.248.135/  
svnsync sync svn://192.168.248.136/ svn://192.168.248.135/

即svnsync init 目标库 源库
如果是多个库,路径一定要指到目标库
将向你询问登录目标库和源库的用户名和密码,建议为两个库设置相同的用户名及相同的密码
正确后,显示
Copied properties for revision 0.
初始化完成

测试:
查看主备的版本号是否相同: svnlook youngest /home/svn/peace/
在主机创建测试文件:

创建项目:svn mkdir svn://192.168.248.135/test/
 svn co svn://192.168.248.135/test/
 写一个测试文件 cd  test && echo 132 > test
 svn add test
 svn ci -m "注释"

在备机查看测试文件:

svn ls svn://192.168.248.136/test/
如果有test文件,那么你就成功了

查看版本号:
svnlook youngest /home/svn/peace/ (版本号加一)
切换备机:
查看版本号: svnlook youngest /home/svn/peace/ (版本号加一)
svn checkout svn://192.168.248.135
将同步的文件导出,便可查看。


问题总结
1、
提示“svnsync: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook”
按之前说明给主库也配置好pre-revprop-change文件

2、
svnsync: Revprop change blocked by pre-revprop-change hook (exit code 255) with no output.
修改hook下的文件权限
chmod a+x pre-revprop-change
svnsync: Session is rooted at ‘svn://10.129.13.97/home/svn/peace’ but the repos root is ‘svn://10.129.13.97’
3、拷贝完db目录后同步
[root@BJ-13-132 db]# svnsync sync file:///home/svn/peace/
svnsync: Destination repository has not been initialized

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值