inotify事件监控工具

inotify事件监控工具

 

rsync + inotify 组合的起源

inotify事件监控工具

 

inotify优缺点

优点:监控文件系统事件变化,通过同步工具实现实时数据同步 
缺点:并发如果大于200个文件(10-100k),同步就会有延迟 
每次都是全部推送一次,但确实是增量的,也可以只同步变化的文件,不变化的不理。 
因为监控到事件后,调用rsync同步是单进程的,而sersync为多进程同步。

 

inotify参数

inotify事件监控工具

 

-e指定参数事件

inotify事件监控工具


 

inotify监控搭建与测试

首先查看有没有wget命令,没有则需要先安装

inotify事件监控工具

在去/etc/yum.repos.d下备份源光盘yum文件到bak目录

inotify事件监控工具

命令wget -O /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-6.repo从阿里云下载 
需要能上网才可以从网上下载

inotify事件监控工具

下载完成后,清空yum缓存,生成新的云yum缓存

inotify事件监控工具

安装inotify-tools软件包,命令是inotifywait

inotify事件监控工具

 
  1. 单条件监控inotifywait -mrq --timefmt '%y %m %d %H %M' --format '%T %w%f' -e create /backup
  2. inotifywait是ionotify的命令工具
  3. -mrq:-q只输入简短信息,-r递归监控整个目录包括子目录,-m进行不间断持续监听
  4. --timefmt:指定时间输出格式%y=年 %m=月 %d=日 %H=时 %M=分 %F=年月日
  5. --format:指定输出信息的格式%T=时间 %w=路径 %f=文件名
  6. -e create:制定监控的事件类型,监控创建create事件

inotify事件监控工具
inotify事件监控工具 
inotify事件监控工具

 
  1. 多条件监控:inotifywait -mrq --format '%w%f' -e create,close_write,delete /backup
  2. inotifywait是ionotify的命令工具
  3. -mrq:-q只输入简短信息,-r递归监控整个目录包括子目录,-m进行不间断持续监听
  4. --format:指定输出信息的格式%w=路径 %f=文件名
  5. -e create,close_write,delete:带创建事件,写关闭事件,删除事件
  6. vim对写关闭事件也好用,不过会先生成缓存文件

inotify事件监控工具 
inotify事件监控工具 
inotify事件监控工具

__

 

inotify实时监控脚本

#!/bin/bash 
Path=/data 
backup_Server=172.16.1.41 
/usr/bin/inotifywait -mrq --format '%w%f' -e create,close_write,delete /data | while read line 
do 
if [ -f $line ];then rsync -az $line --delete rsync_backup@$backup_Server::nfsbackup --password-file=/etc/rsync.password else cd $Path &&\ 
rsync -az ./ --delete rsync_backup@$backup_Server::nfsbackup --password-file=/etc/rsync.password 
fi 
done

 

脚本加入开机启动

 
    1. echo "/bin/sh /server/scripts/inotify.sh &" >> /etc/rc.local
    2. 一个& 代表从后台开始运行该条命令
上一篇:Linux实战教学笔记23:Inotify事件监控工具


下一篇:(转)第二十三节 inotify事件监控工具