inotify-tools使用方法介绍

作者:朱 茂海/分类:系统管理 
字号:LMS
文章目录

[隐藏]

  • 安装方法
  • 使用例子
    • inotifywait
    • inotifywatch
  • 参数说明
    • inotifywait
    • inotifywatch
    • 可监听事件

inotify-tools 是为linux下inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。 inotify-tools是用c编写的,除了要求内核支持inotify外,不依赖于其他。inotify-tools提供两种工具,一是inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数。现在介绍一下它的使用方法。

安装方法

  1. wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
  2. tar xzf inotify-tools-3.14.tar.gz ;cd inotify-tools-3.14
  3. ./configure --prefix=/usr && make && su -c 'make install'

使用例子

inotifywait

1、实时监控/home的所有事件(包括文件的访问,写入,修改,删除等)

  1. inotifywait -rm /home

2、监控/var/log/messeges中有关httpd的日志

  1. #!/bin/sh
  2. while inotifywait -e modify /var/log/messages; do
  3. if tail -n1 /var/log/messages | grep httpd; then
  4. kdialog --msgbox "Apache needs love!"
  5. fi
  6. done

inotifywatch

1、统计/home文件系统的事件

  1. inotifywatch -v -e access -e modify -t 60 -r /home

参数说明

inotifywait

语法:
inotifywait [-hcmrq] [-e ] [-t ] [--format ] [--timefmt ] [ ... ]
参数:
-h,--help
输出帮助信息
@
排除不需要监视的文件,可以是相对路径,也可以是绝对路径。
--fromfile 
从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-m, --monitor
接收到一个事情而不退出,无限期地执行。默认的行为是接收到一个事情后立即退出。
-d, --daemon
跟--monitor一样,除了是在后台运行,需要指定--outfile把事情输出到一个文件。也意味着使用了--syslog。
-o, --outfile 
输出事情到一个文件而不是标准输出。
-s, --syslog
输出错误信息到系统日志
-r, --recursive
监视一个目录下的所有子目录。
-q, --quiet
指定一次,不会输出详细信息,指定二次,除了致命错误,不会输出任何信息。
--exclude 
正则匹配需要排除的文件,大小写敏感。
--excludei 
正则匹配需要排除的文件,忽略大小写。
-t , --timeout 
设置超时时间,如果为0,则无限期地执行下去。
-e , --event 
指定监视的事件。
-c, --csv
输出csv格式。
--timefmt 
指定时间格式,用于--format选项中的%T格式。
--format 
指定输出格式。
%w 表示发生事件的目录
%f 表示发生事件的文件
%e 表示发生的事件
%Xe 事件以“X"分隔
%T 使用由--timefmt定义的时间格式

inotifywatch

语法:
inotifywatch [-hvzrqf] [-e ] [-t ] [-a ] [-d ] [ ... ]
参数:
-h, --help
输出帮助信息
-v, --verbose
输出详细信息
@
排除不需要监视的文件,可以是相对路径,也可以是绝对路径。
--fromfile 
从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-z, --zero
输出表格的行和列,即使元素为空
--exclude 
正则匹配需要排除的文件,大小写敏感。
--excludei 
正则匹配需要排除的文件,忽略大小写。
-r, --recursive
监视一个目录下的所有子目录。
-t , --timeout 
设置超时时间
-e , --event 
只监听指定的事件。
-a , --ascending 
以指定事件升序排列。
-d , --descending 
以指定事件降序排列。

可监听事件

access 文件读取
modify 文件更改。
attrib 文件属性更改,如权限,时间戳等。
close_write 以可写模式打开的文件被关闭,不代表此文件一定已经写入数据。
close_nowrite 以只读模式打开的文件被关闭。
close 文件被关闭,不管它是如何打开的。
open 文件打开。
moved_to 一个文件或目录移动到监听的目录,即使是在同一目录内移动,此事件也触发。
moved_from 一个文件或目录移出监听的目录,即使是在同一目录内移动,此事件也触发。
move 包括moved_to和 moved_from
move_self 文件或目录被移除,之后不再监听此文件或目录。
create 文件或目录创建
delete 文件或目录删除
delete_self 文件或目录移除,之后不再监听此文件或目录
unmount 文件系统取消挂载,之后不再监听此文件系统。

转载请标明文章来源:《https://www.centos.bz/2012/06/inotify-tools-introduction/》

inotify-tools使用方法介绍相关推荐

  1. com加载项没反应 ppt wps_islide安装后不显示怎么办?islide安装后用PPT2016打开不显示的原因及解决方法介绍...

    islide安装后不显示怎么办?islide是一款功能十分强大的PPT美化工具,受到了很多行业人士的青睐,其中不仅能对PPT进行美化处理,还有海量的PPT模板,让你再也不用担心领导为你安排制作PPT的 ...

  2. webview 加载php页面内容,WebView加载优化的方法介绍

    本篇文章给大家带来的内容是关于WebView加载优化的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. WebView加载优化 当WebView的使用频率变得频繁的时候,对于其 ...

  3. LoadRunner设置检查点的几种方法介绍

    LoadRunner设置检查点的几种方法介绍 发布时间: 2011-5-03 11:53    作者: 一米阳光做测试    来源: 51Testing软件测试网采编 字体:  小  中  大  | ...

  4. python加号换行,Python字符串拼接六种方法介绍

    Python字符串拼接的6种方法: 1.加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用"+"来连接两个字符串: prin ...

  5. 小程序 sha1和服务器有关系吗,微信小程序使用sha1实现密码加密的方法介绍

    微信小程序使用sha1实现密码加密的方法介绍,字符串,程序,转换为,详解,函数 微信小程序使用sha1实现密码加密的方法介绍 易采站长站,站长之家为您整理了微信小程序使用sha1实现密码加密的方法介绍 ...

  6. 360p4虚拟服务器,360安全路由p4c常见的问题以及解决方法介绍

    360安全路由p4c在使用的时候会遇到哪些问题呢?360安全路由p4c在使用的时候操作并不是很复杂,但是对于新手用户来说还是有点难度的,接下来的文章中小编将介绍使用这款路由器遇到的五大问题及其姐姐方法 ...

  7. 如何用计算机弹逆战6,逆战星光弹夹使用方法介绍 轻松玩转星光弹

    逆战星光弹夹使用方法介绍 轻松玩转星光弹,今天小编为大家带来的是逆战星光弹夹使用方法介绍,感兴趣的小伙伴快来看看吧. 目前,逆战共有星光弹匣三款.分别为:陷阱加速.空气墙.强固.三款不同的弹匣,用了三 ...

  8. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍 参考文章: (1)jquery的ajax()函数传值中文乱码解决方法介绍 (2)https://www.cnblogs.com/xuxiaosh ...

  9. html优化网站的方法,利用HTML优化加快网页速度方法介绍

    减少web页面下载时间的关键就是设法减小文件大小.当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的.js文件,然后再 ...

最新文章

  1. awk4.0 — awk格式化
  2. 人脑细胞在培养皿中学会打游戏,比AI学习速度快18倍还省电,有黑客帝国那味了...
  3. JS三种消息框的使用
  4. 最近找工作面的面试题目汇总(一)
  5. css中clear的作用是什么?
  6. 当按下ESC键时,关闭应用程序
  7. f2fs 设置stripe_欧洲如何在PSD2下使用Stripe实现3DS2的SCA合规性
  8. Oracle安装出现报错
  9. python发送邮件及Jenkins持续集成
  10. envi窗口滤波_高光谱ENVI图像处理之滤波
  11. php number_format 通过千位分组来格式化数字
  12. 动态EXCEL数据透视表
  13. 对计算机网络的认识论文800,对计算机的认识论文
  14. 视频怎么剪辑才好看?学视频剪辑必读入门指南
  15. iOS加速计和陀螺仪
  16. SQL Server 2019下载安装教程
  17. D3D9学习笔记之字体
  18. HJL-93/AY AC220V数字式交流三相电流继电器
  19. Linux 文件管理-文件内容-读取工具-【cattac】连接多个文件并打印到标准输出
  20. 微信小程序-从相册获取图片,视频 使用相机拍照,录像上传+服务器(nodejs版)接收

热门文章

  1. 噪声dba是什么单位_在职DBA : 工作多年为什么还是选择报读工商管理博士
  2. linux下diff、patch制作补丁
  3. leetcode算法题--不同的二叉搜索树 II
  4. relu函数_从 ReLU 到 GELU,一文概览神经网络的激活函数
  5. react: nextJs koa project basic structure
  6. 执行phpize Cannot find config.m4
  7. C# ,asp.net 获取当前,相对,绝对路径
  8. RocketMQ架构模块解析
  9. WebSocket在容器化管理平台的应用
  10. 点击文字弹出一个DIV层窗口代码 【或FORM表单 并且获取点击按钮的ID值】