rsync + inotify 实现异地文件数据同步

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值