一、说明,配置是在rsync服务基层上的配置过程。 


二、必须保证rsync服务端部署成功,客户端能够往服务器端推送命令。


三、安装配置inotify

  (1)检查系统是否支持inotify

     [root@openvpn local]# ls -l /proc/sys/fs/inotify/

       total 0

     -rw-r--r-- 1 root root 0 Dec  9 20:51 max_queued_events

     -rw-r--r-- 1 root root 0 Dec  9 21:31 max_user_instances

     -rw-r--r-- 1 root root 0 Dec  9 20:51 max_user_watches

    [root@openvpn local]# 

 (2)下载inotify-tools-3.14.tar.gz

     [root@sersync ~]#tar -zxvf inotify-tools-3.14.tar.gz

     [root@sersync ~]#cd  inotify-tools-3.14

     [root@sersync ~]#./configure --prefix=/usr/local/inotify 

     [root@sersync ~]#make && make install  

 (3)安装完成后,写事件监控脚本

    [root@sersync ~]#vim inotify.sh

#/bin/bash

#tangbo 2015-12-20

host01=192.168.11.31   #ip地址

src=/data/www/www      #待同步的目录

dst=www

user=rsnyc_backup

rsync_passfile=/etc/rsync.password

inotify_home=/usr/local/inotify-tools-3.14/

#################################

if [ ! -e "$src"] || [ ! -e "${rsync_passfile}" ] || [ ! -e "${inotify_home}/bin/inotifywait" ]  || [ ! -e "/usr/bin/rsync" ]

    then

    echo "Check File and Folder!" #检查文件和文件夹

exit 9

fi

#########

#############

{inotify_home}/bin/inotifywait -mrq --timefmt '%d%m%y %H%M' --format '%T %w%f' -e close_write,delete,create,attrib @src

                                           #inotify整个的命令

while read file    

do 

# rsync -avzP --delete --timeout=100 --password-file=${rsync_passfile} $src $user@$host01::$dst >/dev/null 2>&1  #注释这个可以实现,效果不是很好

cd $src && -aruz -R --delete ./  --timeout=100  $user@$host01::$dst --password-file=${rsync_passfile} >/dev/null 2>&1 

 

done

exit 0

####finish######

  (4)后台执行脚本  sh inotify.sh & 

      ps -ef | grep inotify 

  

  (5)配置成功,测试同步情况。