inotify服务:

当用户在A服务器上操作了数据,inotify会抓取出来,然后通知rsync,然后同步到rsync服务器。所以inotify服务器却是rsync的客户端服务器。

inotify性能比sersync强,inotify可能支持几百个图片,sersync可能一百所以就差不多了。

确认内核是否支持inotify 可通过ll /proc/sys/fs/inotify查看有三个文件即可。

rz上传inotify软件包

tar xf inotify-tools-3.123.tar.gz

cd inotify-tools-3.13

./configure --prefix=/usr/local/inotify-tools-3.13

make&&make install

cd ../

ln -s /usr/local/inotify-tools-3.13 /usr/local/inotify

/usr/local/inotify下有如下文件:

bin  执行文件  类似windows的exe文件

include 程序所需要的头文件

lib 动态链接的库文件

share 帮助文档

/usr/local/inotify-tools-3.13/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create /backup 监听创建文件create

创建脚本:

#!/bin/sh

cmd="/usr/local/inotify/bin/inotifywait"

$cmd -mrq --format '%w%f' -e create,close_write,delete /backup|\

while read line

do

  [ ! -e “$line” ] && continue

  rsync -az --delete $line rsync_backup@192.168.44.40::oldboy --password-file=/etc/rsync.password

done

生产环境中需调整一下参数:

max_user_watches  max_queued_events  max_user_instances都调大些。

并发不是很大,10-100k文件 最多200个。