首页 > 代码库 > 通过rsync+inotify实现实时同步
通过rsync+inotify实现实时同步
需求: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 rsyncrsync-3.0.6-9.el6_4.1.x86_64
2、编辑配置文件
# vi /etc/rsyncd.confuid = rootgid = rootread only = nouse chroot = nomax connections = 512pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.loglog format = %t %a %m %f %b[test]path = /tongbulist = noignore errors auth users = backuphosts allow = 192.168.10.72hosts deny = *secrets file = /etc/rsyncd.pwd
3、编辑密码文件
# vi /etc/rsyncd.pwdbackup: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/bashsrc=/tongbu/dst=backup@192.168.10.73::testinotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘ -e modify,delete,create,attrib $src |while read filesdorsync -vzrtopg --delete --progress --password-file=/home/rsyncd.pwd $src $dstdone
2、编辑密码文件
# vi /home/rsyncd.pwd123456
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实现实时同步
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。