Linux下inotify监控文件夹状态,发生变化后触发rsync同步

时间:2023-01-01 06:50:17

1、安装工具
--inotify
wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar -zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify
make && make install

--rsync
下载:http://rsync.samba.org/
tar -zxvf rsync-3.1.0.tar.gz
cd rsync-3.1.0
./configure --prefix=/usr/local/rsync
make && make install

2、编写脚本:
[root@192.168.1.1 script]$ vim monitor_dircharge.sh
#!/bin/sh
## -------------------------------------------------

## @监控目录状态,有变化后触发rsync同步
## -------------------------------------------------

srcdir="/data/www/New/html/www"
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T%w%f' -e modify,delete,create,attrib ${srcdir} \
| while read file
do
sudo rsync -rlptDvzHS --port=9789 --password-file=/etc/rsyncd.password_client /data/www/New/html/www/ root@192.168.1.2::Server/New/html/www/
done

3、启动脚本
nohup sudo sh /data/script/monitor_dircharge.sh >> /tmp/inotify.log 2>&1 &