赞
踩
Inotify 可监控文件系统操作,比如读取、写入和创建,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等,同时它还可以跟踪活动的源头和目标等细节
Inotify的反应非常灵敏,用法也简单,并且相比cron任务的繁忙轮询来看高效得多
准备两台Centos7虚拟机,配置IP地址和hostname,同步系统时间,关闭防火墙和selinux,修改IP地址和Hostname映射
ip | hostname | 角色 |
---|---|---|
192.168.29.132 | master | 主服务器 |
192.168.29.138 | bak | 备份服务器 |
部署SSH免密登陆
[root@master ~]# ssh-keygen
[root@master ~]# ssh-copy-id root@192.168.29.138
#验证免密登陆
[root@master ~]# ssh root@bak
[root@master ~]# tar -zxvf inotify-tools-3.13.tar.gz
[root@master ~]# cd inotify-tools-3.13
[root@master ~]# ./configure
[root@master ~]# make && make install
#安装完成会产生两个命令
[root@master ~]# ls /usr/local/bin/
inotifywatch #看守
inotifywait #等待
inotifywait常用参数
-m:监控事件
-q:安静模式,仅打印事件内容
-r:递归监控目录
-e:指定监控的事件
--delete:被监控目录中删除的文件在备份目录中也同步删除
[root@master ~]# vi monitor_note.sh #!/bin/bash #实时监控文件的事件为创建、修改、移动、删除、属性 #当读到事件时,则把改变内容推给备份机 /usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /root/note |while read events do #同步备份 rsync -a --delete /tmp/note/ root@192.168.29.138:/tmp/backup #记录日志 echo "出现事件$events" >> /var/log/rsync.log 2>&1 done #增加可执行权限 [root@master ~]# chmod +x monitor_note.sh #后台执行脚本 [root@master ~]# ./monitor_note.sh &
添加文件
[root@master ~]# mkdir /tmp/note
[root@master ~]# cd /tmp/note/
[root@master note]# touch file{1..5}
#查看备份效果
[root@bak ~]# ls /tmp/backup/
file1 file2 file3 file4 file5
修改文件内容
[root@master ~]# echo "haha" > /tmp/note/file1
#查看备份效果
[root@bak ~]# cat /tmp/backupfile1
haha
修改文件权限
[root@master ~]# chmod +x /tmp/note/file5
#查看备份效果
[root@bak ~]# ls -al /tmp/backup/
-rwxr-xr-x 1 root root 0 7月 23 19:36 file5
移动文件
[root@master ~]# mkdir /tmp/note/a
[root@master ~]# mv /tmp/note/file2 /tmp/note/file3 /tmp/note/a
#查看备份效果
[root@bak ~]# ls /tmp/backup/
a file1 file4 file5
[root@bak ~]# ls /tmp/backup/a/
file2 file3
删除文件
[root@master ~]# rm -rf /tmp/note/a
#查看备份效果
[root@bak ~]# ls /tmp/backup/
file1 file4 file5
查看日志
[root@master ~]# cat /var/log/rsync.log 出现事件/tmp/note/ CREATE file1 出现事件/tmp/note/ ATTRIB file1 出现事件/tmp/note/ CREATE file2 出现事件/tmp/note/ ATTRIB file2 出现事件/tmp/note/ CREATE file3 出现事件/tmp/note/ ATTRIB file3 出现事件/tmp/note/ CREATE file4 出现事件/tmp/note/ ATTRIB file4 出现事件/tmp/note/ CREATE file5 出现事件/tmp/note/ ATTRIB file5 出现事件/tmp/note/ MODIFY file1 出现事件/tmp/note/ ATTRIB file5 出现事件/tmp/note/ CREATE,ISDIR a 出现事件/tmp/note/ MOVED_FROM file2 出现事件/tmp/note/a/ MOVED_TO file2 出现事件/tmp/note/ MOVED_FROM file3 出现事件/tmp/note/a/ MOVED_TO file3 出现事件/tmp/note/a/ DELETE file2 出现事件/tmp/note/a/ DELETE file3 出现事件/tmp/note/a/ IGNORED 出现事件/tmp/note/ DELETE,ISDIR a
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。