美文网首页linux
Linux_290_Inotifywait目录事件检测

Linux_290_Inotifywait目录事件检测

作者: 为宇绸缪 | 来源:发表于2022-10-26 09:34 被阅读0次

Inotify命令工具

上述操作我们安装好了Inotify-tools软件,生成2个重要的命令

  • inotifywait:在被监控的目录等待特定文件系统事件(open、close、delete等事件),执行后处于阻塞状态,适合在Shell脚本中使用,是实现监控的关键
  • Inotifywatch:收集被监控的文件系统使用的统计数据(文件系统事件发生的次数统计)

Inotifywait命令解释

inotifywait用于等待文件或文件集上的一个待定事件,可以监控任何文件和目录设置,并且可以递归地监控整个目录树;
inotifywatch用于收集被监控的文件系统计数据,包括每个inotify事件发生多少次等信息
从上面可知inotifywait是一个监控事件,可以配合shell脚本使用它。与它相关的参数:
语法格式:inotifywait [-hcmrq][-e][-t][–format][-timefmt][…]
-m: 即“–monitor” 表示始终保持事件监听状态。
-d:类似于-m参数,将命令运行在后台,记录出发的事件信息,记录在指定文件里,加上--outfile参数
-r: 即“–recursive” 表示递归查询目录
-q: 即“–quiet” 表示打印出监控事件
-o: 即“–outfile” 输出事情到一个文件而不是标准输出
-s: 即“–syslog” 输入错误信息到系统日志
-e: 即“–event”, 通过此参数可以指定要监控的事件,常见的事件有modify、delete、create、close_write、move、close、unmount和attrib等
-format: 指定输出格式;常用的格式符如:
%w:表示发生事件的目录
%f:表示发生事件的文件
%e:表示发生的事件
%Xe:事件以“X”分隔
%T:使用由-timefmt定义的时间格式
-timefmt:指定时间格式,用于-format选项中的%T格式

利用Inotify软件监控的事件主要是如下

Events    含义
access    文件或目录被读取
modify    文件或目录内容被修改
attrib    文件或目录属性被改变
close    文件或目录封闭,无论读/写模式
open    文件或目录被打开
moved_to    文件或目录被移动至另外一个目录
move    文件或目录被移动到另一个目录或从另一个目录移动至当前目录
create    文件或目录被创建在当前目录
delete    文件或目录被删除
umount    文件系统被卸载

inotifywait命令实践

语法
inotifywait -mrq --timefmt "%F" --format "%T %w%f 事件信息:%e" /data 

实际案例
inotifywait -mrq --timefmt "%F" --format "%T %w %f" -e create /data
参数解释
inotifywait 是命令
-m 表示一直处在检测状态
-r 递归的检测
-q 打印出检测的事件信息
--timefmt 对时间格式化
--format 对日志信息格式化
%T 使用由--timefmt所定义的格式
%w 表示显示事件发生的目录
%f 表示事件发生的文件
-e 默认inotifywait是监控所有事件,可以使用-e单独的指定某种事件 events

[root@nfs_machine data]# inotifywait -mrq --timefmt "%F" --format "%T %w %f" -e create /data
2022-03-06 /data/ learn.txt
只要在/data里面创建了新的文件,就可以检测到

inotifywait -mrq --timefmt "%y-%m-%d %T" --format "%T %w %f" -e create /data
%d 日期,几号
%m 月份 1-12
%y 年份的意思,显示后2位
%T 显示时分秒

相关文章

  • Linux_290_Inotifywait目录事件检测

    Inotify命令工具 上述操作我们安装好了Inotify-tools软件,生成2个重要的命令 inotifywa...

  • [iOS] 跟着大神们学习代码(12)

    目录: 事件分发 内存泄漏检测 Find Unused Imports cell的view懒加载 Autolayo...

  • Android按键事件

    一、按键事件App开发对按键事件的检测与处理,主要包括如何检测控件对象的按键事件、如何检测活动页面的物理按键、以返...

  • python os.path 检测文件是否存在

    5.12 检测某个文件或目录是否存在 可以使用os.path来检测文件或目录是否存在 isfile isdir i...

  • 5.29-14

    DOM事件探秘(能力检测:通过代码检测浏览器能支持哪一种就用对应的哪一种) 事件流分为两种:事件冒泡、事件捕获。事...

  • Android手势事件检测GestureDetector

    Android手势事件检测GestureDetector 上代码

  • opencv之人脸检测项目实战(二)

    自我介绍 目录 一、人脸检测整体架构1.1 什么是人脸检测?1.2 人脸检测的应用场景1.3 人脸检测核心架构二、...

  • Node.js学习——常用fs模块

    fs.stat 检测是文件还是目录 fs.mkdir 创建目录 fs.writeFi...

  • 2022-04-28

    目录前言一、无效图片资源检测1.1、LSUnusedResources1.1.1、插件下载1.1.2、检测范围1....

  • 兼容浏览器的事件绑定

    //事件处理兼容各种浏览器,采用能力检测方法,所谓能力检测,就是有能力就做,没有能力就不做. //定义一个处理事件...

网友评论

    本文标题:Linux_290_Inotifywait目录事件检测

    本文链接:https://www.haomeiwen.com/subject/ocdazrtx.html