由于inotify特性需要Linux内核的支持,在安装inotify-tools前要先确认Linux系统内核是否达到了2.6.13以上,如果

Linux内核低于2.6.13版本,就需要重新编译内核加入inotify的支持,也可以用如下方法判断,内核是否支持
一、检查系统内核版本
[root@centos6 Music]# uname -rs
Linux 2.6.32-431.el6.x86_64
 
二、检查系统是否支持inotify
[root@centos6 Music]# ll /proc/sys/fs/inotify
总用量 0
-rw-r--r-- 1 root root 0 2月  15 13:38max_queued_events
-rw-r--r-- 1 root root 0 2月  15 13:38max_user_instances
-rw-r--r-- 1 root root 0 2月  15 13:38max_user_watches


三、有以上三项就代表系统默认是支持的,接着安装inotify-tools
yum -y install inotify-tools
rpm -qa |grep inotify

 

四、安装完成后写一个shell角本
vi /usr/bin/inotify_rsync.sh
#!/bin/bash
src=/aaa
des=backup
ip=192.168.1.106
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e

modify,delete,create,attrib $src | while read file
        do
                rsync -vzrtopg --delete --progress $src rsync@$ip::$des --password-file=/etc/rsync.password

&&
                echo "$src was rsynced"
        done
:wq

nohup sh  /root/rsync.sh  &  注意中间的空格
这样就可以保证当你修改客户端的/aaa里面的文件时会立即向服务器端进行更新,达到数据的快速一致

本文出自 “LINUX集群应用” 博客,请务必保留此出处http://ipinco.blog.51cto.com/2929516/1745183