###安装rsync+inotify实现服务器之间文件同步
#A系统:192.168.2.93 需要rsync,并以守护进程方式启动
#B系统:192.168.2.92 需要rsync+inotify
#实现92文件同步到93中。
#92系统需要rsync+inotify,实现监视文件的变动并同步
#93系统需要rsync守护进程,实现接收同步过来的文件
关闭防火墙和selinux
#93系统软件安装
yum install rsync vim wget -y
cat >> /etc/rsyncd.conf <<EOF
uid=nobody
gid=nobody
use chroot=no
max connections=10
strict modes=yes
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
log file=/var/log/rsyncd.log
[soft]
path=/data/software
ignore errors
read only =no
write only=no
hosts allow=*
list=no
uid=root
gid=root
auth users=soft
secrets file=/etc/server.pass
EOF
##以守护进程启动rsync
rsync --daemon
##停止rsync可以使用 killall rsync
建立同步账户soft并设置密码
useradd soft && echo 'soft:123456' | chpasswd
touch /etc/server.pass &&echo 'soft:123456' > /etc/server.pass && chmod 600 /etc/server.pass
##92系统安装
yum install rsync vim wget -y
rpm -ivh http://mirrors.hustunique.com/epel//6/x86_64/epel-release-6-8.noarch.rpm
yum makecache
yum install inotify-tools -y
##inotify脚本
cat >> /root/rsync.sh << EOF
#!/bin/bash
#!/bin/bash
src=/data/software/
des=soft
ip=192.168.2.93
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib $src | while read files
do
rsync -b --backup-dir=backsoft -vzrtopg --delete --progress $src soft@$ip::$des --password-file=/etc/server.pass && echo " was rsynced"
done
EOF
echo '123456' >/etc/server.pass && chmod 600 /etc/server.pass
echo 'sh /root/rsync.sh' >>/etc/rc.local
sh /root/rsync.sh & > /dev/null
##注意事项,rsync守护进程那台服务器的密码文件是有用户名及密码,inotify那台服务器的密码文件仅需要密码