Rsync+inotify实现实时同步

首先修改/etc/sysctl.conf

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
sysctl -p   

下载inotify软件包,解压

 tar xf inotify-tools-3.14.tar.gz 
 cd inotify-tools-3.14/
 ./configure && make && make install

监测/www/html/为例,复制窗口,在其目录下进行操作时,会有输出

inotifywait -mrq -e modify,attrib,create,delete,move /www/html/

-m是要持续监视变化。
-r使用递归形式监视目录。
-q减少冗余信息,只打印出需要的信息。
-e指定要监视的事件列表。
access 访问,读取文件。
modify 修改,文件内容被修改。
attrib 属性,文件元数据被修改。
move 移动,对文件进行移动操作。
create 创建,生成新文件
open 打开,对文件进行打开操作。
close 关闭,对文件进行关闭操作。
delete 删除,文件被删除。

实时监控inotify脚本

vim /opt/inotify
INOTIFY_CMD="inotifywait -mrq -e modify,attrib,create,delete,move /www/html/"
RSYNC_CMD="rsync -avzH --delete --password-file=/etc/rsync_passwd /www/html/ rsync://backuper@192.168.200.114:/www
root"
$INOTIFY_CMD |while read A B C 
do
        if [ $(pgrep rsync | wc -l ) -le 1  ]
        then
                $RSYNC_CMD
        fi
done

开启脚本后启动inotify实时监测,如果监测到输出信息后,执行if语句:过滤rsync进程,如果当前rsync没处于正在执行状态的话,就执行远程同步命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值