###安装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那台服务器的密码文件仅需要密码