如何用rsync来同步SVN数据库

需求:   有一个SVN主服务器, 要建一个SVN镜像服务器,以方便镜像服务器所在区域能够高速下载代码

解决方案: 假定SVN主服务器的IP是192.168.1.131,  镜像服务器的IP是192.168.2.132,且假定131 SVN数据库的地址是/work/svn

步骤:

1.  在132上创建 /work/svn目录

2.  在131和132上分别执行ssh-keygen -t rsa, 一路回车(全部默认)

3. 在131上执行$ssh-copy-id -i root@192.168.1.132, 在132上执行$ssh-copy-id -i root@192.168.1.131

注: 完成第2、3步可以实现ssh访问免密码

4. 在132上新建一个ssh脚本,内容如下:

#!/bin/sh
while true
do 
rsync -vzrtopgu --progress --delete root@192.168.1.131:/work/svn/ /work/svn
sync
sleep 1m
done

注:该脚本无限循环执行同步命令,每完成一次,休眠1分钟

5. 完成以上动作后,在131上提交一笔代码,待1分钟之后,利用SVN客户端登录132服务器,可以看到最新的提交。


特别说明: 不要用计划任务来做同步,因为计划任务并不能保证两个任务是串行的(如第一个任务未完成,下一个任务又到来)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值