INOTIFY_CMD="inotifywait -mrq -e move,create,delete,attrib /home/test/"
#RSYNC_CMD="rsync -avzuP -e \'ssh -p 22\' --delete /home/mysql_bakup/bakupsql/ root@172.16.100.7:/home/mysql_100.9_bak/"
RSYNC_CMD=(rsync -avzuP -e 'ssh -p 22' --delete /home/test root@192.168.21.147:/home/test/)
# 使用while、read持续获取监控结果,根据输出的监控记录判断是否启动 rsync 进程
$INOTIFY_CMD | while read DIRECTORY FILE EVENT
do
if [ $(pgrep rsync | wc -l) -le 1 ] ; then
"${RSYNC_CMD[@]}"
fi
done
知乎上的详细解释
inotify的解释 inotify的定义
安装inotify
下载inotify
安装依赖
yum install gcc make glibc-devel glibc-headers kernel-devel
源码编译安装
进入
这个目录下
./confugre make && make install就行
从yum库里面安装
yum install inotify-tools-3.14