码迷,mamicode.com
首页 > 其他好文 > 详细

通过rsync+inotify实现实时同步

时间:2014-09-02 10:15:04      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   ar   for   文件   数据   

需求:web服务器未做存储上的HA,为了保证主备服务器上目录及文件能够实时同步,当主服务器宕机时可快速切换到备服务器上,需将主服务器上的某些目录的文件实时同步到备服务器上

那么我选择了rsync+inotify实现实时同步

 

首先要了解是从哪台服务器同步到哪台服务器,不能弄反了,尤其是生产系统,且在生产系统中,先做测试目录,如果生产服务器上数据量不大,应先做好备份工作

 

先说环境

OS:linux rhel6.2 x86_64

192.168.10.72 安装rsync 配置rsync.conf
192.168.10.73 安装inotify,rsync

实现在72上做的操作,同时同步到73上

 

192.168.10.73上的配置

1、先确认是否安装了rsync

$ rpm -qa | grep rsync
rsync-3.0.6-9.el6_4.1.x86_64

 2、编辑配置文件

# vi /etc/rsyncd.conf
uid = root
gid = root
read only = no
use chroot = no
max connections = 512
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
log format = %t %a %m %f %b


[test]
path = /tongbu
list = no
ignore errors 
auth users = backup
hosts allow = 192.168.10.72
hosts deny = *
secrets file = /etc/rsyncd.pwd

3、编辑密码文件

# vi /etc/rsyncd.pwd
backup:123456

4、赋权操作

#chmod 600 /etc/rsyncd.conf
#chmod 600 /etc/rsyncd.pwd

5、启动服务进程

# rsync --daemon                                              //启动守护进程
# echo "rsync --daemon" >> /etc/rc.local                      //加入开机自启动

 

192.168.10.72服务器配置

安装inotify

1、编写同步脚本

# vi /tmp/rsync.sh
!/bin/bash
src=/tongbu/
dst=backup@192.168.10.73::test
inotifywait -mrq --timefmt %d/%m/%y %H:%M --format %T %w%f%e -e modify,delete,create,attrib $src |while read files
do
rsync -vzrtopg --delete --progress --password-file=/home/rsyncd.pwd $src $dstdone

2、编辑密码文件

# vi /home/rsyncd.pwd
123456

3、赋脚本执行权限

# chmod +x /tmp/rsync.sh
# chmod 600 /home/rsyncd.pwd

4、启动进程

# /tmp/rsync.sh &

5、加入开机自启动

# echo "/tmp/rsync.sh" >> /etc/rc.local

 

通过rsync+inotify实现实时同步

标签:style   blog   color   os   io   ar   for   文件   数据   

原文地址:http://www.cnblogs.com/zhangsibo/p/3950803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!