折腾了一个上午,终于实现了rsync与inotify来实现双机实机的同步,现分享出来,操作步骤如下:
A机:192.168.1.67
B机:192.168.1.68
先在A机上操作如下:
1:安装rsync 及inotify-tools
直接yum -y install rsync inotify-tools 安装就好。(inotify-tool需要安装epel的扩展源)
2:创建公钥(为了同步时不输入验证密码)
步骤如下:
1: ssh-keygen
2:scp -r /root/.ssh/id_rsa.pub root@192.168.1.68:/root/.ssh/authorized_keys(复制到对方服务器,同步时就不用输入密码)
3:创建inotify监控的脚本
1):vim rsync.sh
#!/bin/bash
src=/zxw/ #本机要同步的目录
des=/zxw/ #对方要同步的目录
ip=192.168.1.68 #对方服务器的IP
/usr/local/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘ -e modify,delete,create,attrib $src | while read files
do
rsync -avz --delete --progress ${src} root@${ip}:${des} >/var/log/rsyncclient.log &&
echo "`date +%Y%m%d-%T`: ${src} was rsynced" >>/var/log/rsyncclient.log
echo "-----------------------------------------------------" >>/var/log/rsyncclient.log
done
2):chmod 700 rsync.sh (改权限,只有root有权限)
注意:【/usr/local/bin/inotifywait】 为inofifywait存放的目录,可能有所不同,如果不确定,可用 find / -name inotify 来查看此文件在哪个目录下,改成相应目录即可。
4:启动rsync 及脚本
rsync --daemon
./rsync.sh & (放到后台)
5:在B机上重复1-4的步骤,需要注意的是B机上的rsync.sh里IP=192.168.1.68要改成192.168.1.67
至此,搭建完成。
本文出自 “夜读才子盼女鬼” 博客,请务必保留此出处http://more3.blog.51cto.com/9929586/1614923
原文地址:http://more3.blog.51cto.com/9929586/1614923