inotify

本文介绍了Linux内核从2.6.13引入的inotify机制,它用于监控文件系统的变动,如创建、删除、修改等操作,并及时通知应用程序处理。通过使用inotify,可以避免文件轮询,提升效率。同时,文章提到了/proc/sys/fs/inotify目录下的三个限制参数:max_queued_events、max_user_instances和max_user_watches,并提供了查看和修改这些参数的方法。
摘要由CSDN通过智能技术生成

Linux内核从2.6.13开始,引入了inotify机制。

通过intofity机制,能够对文件系统的变化进行监控,如对文件进行创建、删除、修改等操作,可以及时通知应用程序进行相关事件的处理。

这种响应处理机制,避免了频繁的文件轮询任务,提高了任务的处理效率。

 
 
一、检查安装
检查系统内核版本


# uname -a  


检查系统是否支持inotify


复制代码
# ls -lsart /proc/sys/fs/inotify  
total 0  
0 dr-xr-xr-x 0 root root 0 Sep 19 09:38 ..  
0 -rw-r--r-- 1 root root 0 Jan  1 13:51 max_user_watches  
0 -rw-r--r-- 1 root root 0 Jan  1 13:51 max_user_instances  
0 -rw-r--r-- 1 root root 0 Jan  1 13:51 max_queued_events  
0 dr-xr-xr-x 0 root root 0 Jan  1 13:51 .  

如果出现上面结果说明系统支持inotify
 
notify是一个API,需要通过开发应用程序进行调用,对于大多数用户来讲这有着许多不便,inotify-tools的出现弥补了这一不足。
inotify-tools是一套组件,它包括一个C库和几个命令行工具,这些命令行工具可用于通过命令行或脚本对某文件系统的事件进行监控。
 
下载安装
#wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz  
  
# tar -zvxf inotify-tools-3.14.tar.gz  
# cd inotify-tools-3.14  
  
[root@ inotify-tools-3.14]
# ./configure --prefix=/usr/local/inotify  
[root@ inotify-tools-3.14]
# make  
[root@ inotify-tools-3.14]
# make install  

  
或者使用yum
yum install inotify-tools



其它的一些notify工具(参考)
inotify 的实现有几款软件
1)inotify-tools,
2)sersync(金山周洋)
3)lsyncd
 
二、命令讲解
inotify-tools提供的两个命令行工具:
inotifywait:通过inotify API等待被监控文件上的相应事件并返回监控结果
                   默认情况下,正常的结果返回至标准输出,
                   诊断类的信息则返回至标准错误输出。
                   它可以在监控到对应监控对象上指定的事件后退出,也可以进行持续性的监控。
inotifywatch:通过inotify API收集被监控文件或目录的相关事件并输出统计信息。


1.inotifywait:
常用参数: 
-m  --monitor     始终保持监听状态;默认触发事件即退出。
-r    --recursive  递归查询目录 
-q                       打印出监控事件


–timefmt     指定时间格式,用于–format选项中的%T格式。%y年 %m月 %d日 %H小时 %M分钟 
–format       指定输出格式。
%w 表示发生事件的目录
%f 表示发生事件的文件
%e 表示发生的事件
%Xe 事件以“X”分隔,输出事件逗号分割会变为X分隔,使用*作为各项目字段的分割符

%T 使用由–timefmt定义的时间格式


 

-e --event     定义监控的事件,可用参数:
Events:
access          file or directory contents were read         文件读取
modify           file or directory contents were written     文件更改
attrib              file or directory attributes changed          文件属性更改
close_write    file or directory closed, after being opened in                 以只读模式打开的文件被关闭
                      writeable mode
close_nowrite    file or directory closed, after being opened in             以只读模式打开的文件被关闭
                          read-only mode
close             file or directory closed, regardless of read/write mode      文件被关闭,不管它是如何打开的
open              file or directory opened
moved_to       file or directory
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值