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