inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能。查看内核版本

[root@Oracle ~]# uname -r

2.6.32-220.el6.i686

安装inotify-tools

yum install -y inotify-tools

ll /proc/sys/fs/inotify总计 0-rw-r--r-- 1 root root 0 04-13 19:56 max_queued_events-rw-r--r-- 1 root root 0 04-13 19:56 max_user_instances-rw-r--r-- 1 root root 0 04-13 19:56 max_user_watches如果有上面三项输出,表示系统已经默认支持inotify,接着就可以开始安装inotify-tools了

inotifywait相关参数Inotifywait是一个监控等待事件,可以配合shell脚本使用它,下面介绍一下常用的一些参数:-m, 即--monitor,表示始终保持事件监听状态。-r, 即--recursive,表示递归查询目录。-q, 即--quiet,表示打印出监控事件。-e, 即--event,通过此参数可以指定要监控的事件,常见的事件有modify、delete、create、attrib等。

使用:

inotifywait -m /home/zwf/inotify-test/

inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format  '%T %w%f %e'  --exclude .*swp --exclude .*done --even close_write  目录 |while read  date time file event

do

命令。。。。

done

参数说明

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文件系统取消挂载,之后不再监听此文件系统。

inotifywait监听php,利用inotifywait监控主机文件和目录相关推荐

  1. 利用inotifywait监控主机文件和目录

    利用inotifywait监控主机文件和目录 inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ...

  2. inotifywait监听php,inotifywait 是一个可以实时监控文件变动的工具

    inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ~]# uname -r 2.6.32-22 ...

  3. inotifywait监听php,inotifywait命令

    Inotify一种强大的.细粒度的.异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性.读写属性.权限属性.删除创建.移动等操作,也就是可以监控文件发生的一切变化.. in ...

  4. php监听网页日志,如何用php程序监听一个不断增长的日志文件

    首先这个日志文件写入不是很频繁,它每一行就是一条有效的日志.我想php程序来监听这个文件,每当被写入一行的时候,我的php就自动读入一行,做出分析然后做相应的处理.请问要如何实现呢? 回复内容: 首先 ...

  5. oracle启动监听读取哪个文件,监听服务启动及数据文件恢复oracle数据库

    最近遭遇了 oralce 监听服务启动了 又自行关闭的 悲惨经历 我把我的过程和大家分享一下! 1)排查原因 程序员是懒惰的,我始终都希望能够成功启动监听服务,但是就是事与愿违 有一下方式可能不能成功 ...

  6. JAVA实现监听U盘插入 扫描文件

    JAVA实现监听U盘插入 想用Java实现监听USB端口是否有移动设备插入,然后操作移动设备内的文件.网站查找资料后发现有个jsr-80的项目,下面先介绍一下什么是JSR:JSR是Java Speci ...

  7. ie下利用js操作文件及目录

    注:以下操作只在IE下有效! Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读. ...

  8. FileSystemWatcher监听文件是否有被修改

    作用:监听文件系统更改通知,并在目录或目录中的文件更改时引发事件. 需求:监听特定文件是否修改,然后做出相应的操作. 方法: ①利用一个线程,一直去查找该指定的文件是否有被修改,如果修改则操作特定步骤 ...

  9. 使用Epoll 能监听普通文件吗?

    epoll 是 Linux 系统中常用的多路复用 I/O 组件,一般用于监听 socket 是否能够进行 I/O 操作.那么,epoll 能监听普通文件吗? epoll 是 Linux 系统中常用的多 ...

最新文章

  1. 嵌入式程序调用函数的内部过程和机制
  2. Java数据结构与算法:红黑树
  3. python初步学习-查看文档及数据类型转换
  4. python Thread 函数_Python系列学习笔记
  5. JoyOI(TYVJ)1071-LCIS【线性dp,LIS,LCS】
  6. Commons Collections4 简单使用
  7. Java dom序列化字符串,java – 如何在序列化之前从DOM中剥离仅空白的文本节点?...
  8. PAIP.MYSQL 1045 Access denied for user 'XXXX'@'loca 的解决.txt
  9. sid图像数据_【技术前沿】首届“水下机器人目标抓取大赛”第一名的图像增强方法...
  10. sqldependency 的使用
  11. 邮箱大师支持html,网易邮箱大师使用过程的常见问题
  12. git安装包百度网盘下载
  13. 统计java代码行数_统计项目代码行数
  14. 安装vue脚手架出现的问题 npm ERR! code EEXIST。。。
  15. 常见的网站攻击以及如何防御自己的网站被恶意攻击
  16. javase_20(Awt初步认识)
  17. Linux系统管理员之日志管理
  18. matplotlib.pyplot.cm结构及用法||参数详解
  19. 《产品经理深入浅出》PART 6:交互设计
  20. 【100个 Unity实用技能】☀️ | Unity中设置 允许的最大帧数,锁定游戏的最大帧率(游戏锁帧)

热门文章

  1. leetcode 227. Basic Calculator II | 227. 基本计算器 II(中缀表达式求值)
  2. dart系列之:如丝滑般柔顺,操作文件和目录
  3. Google Spanner 论文笔记
  4. python安装后在哪里找_python安装后的目录在哪里
  5. kafka消息反复从头开始消费问题排查
  6. Lombok介绍、附比较好用的几种注释推荐
  7. 2020云栖大会,宜搭发布专业开发者能力,助力政企数字化转型——阿里云开发者社区
  8. 【最详细】数据结构(C语言版 第2版)第八章课后习题答案 严蔚敏 等 编著
  9. 《数据结构》c语言版学习笔记——其他链表(线性表的链式存储结构Part2)
  10. linux ctime 时间戳,Linux时间戳atime ctime mtime区别及相关命令