rsync+inotify实时同步

1、安装inotify软件

获取软件包

 

[root@app1-server ~]# wget http://downloads.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz

解压安装

[root@app1-server ~]# tar xf inotify-tools-3.13.tar.gz -C /usr/src/
[root@app1-server ~]# cd /usr/src/inotify-tools-3.13/

[root@app1-server inotify-tools-3.13]# ./configure 

[root@app1-server inotify-tools-3.13]# make

[root@app1-server inotify-tools-3.13]# make install

 

安装完成后,就会产生下面两个命令

【等待】【看守】

 

2、查看命令如何使用,然后编写脚本来实现目录的监控

注意:该脚本应该在app1-server上运行

[root@app1-server inotify-tools-3.13]# inotifywait --help

-m  保持监控状态

-r    递归监控

-q   只打印事件

-e   指定事件

 

事件

move     移动

delete    删除

create    创建

modify   修改

attrib   属性信息

 

编写脚本实时监控【/tmp/app/java_project】目录

vim /root/1.sh

#!/bin/bash
/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /tmp/app/java_project |while read events
do
rsync -a --delete /tmp/app/java_project 192.168.10.18:/tmp/backup
echo "`date +%F\ %T` apperance evnets$events" >> /var/log/rsync.log 2>&1

done

 

# chmod +x 1.sh    增加可执行权限

# ./1.sh &       将脚本放到后台去执行

 

注意:

如果单纯使用命令去推的话,正常情况下需要密码,不利于脚本编写,这里通常使用下面2种方案:

1)设置免密登录

2)在【backup】服务器上将Rsync作为后台程序运行

 

3、测试验证

app1-server上操作目录:增加,删除,修改

tail -f /var/log/rsync.log        //会有相关的日志输出

登录backup服务器,查看对应的备份目录,是否有变动!

posted @ 2019-07-21 10:33  风行者云僧  阅读(144)  评论(0编辑  收藏  举报