rsync+inotify实时同步

匿名 (未验证) 提交于 2019-12-02 23:49:02

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]# make

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

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

【等待】【看守】

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

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

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

-m  保持监控状态

-q   只打印事件

-e   指定事件

事件

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服务器,查看对应的备份目录,是否有变动!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!