inotifywait监听php,利用inotifywait监控主机文件和目录
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监控主机文件和目录相关推荐
- 利用inotifywait监控主机文件和目录
利用inotifywait监控主机文件和目录 inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ...
- inotifywait监听php,inotifywait 是一个可以实时监控文件变动的工具
inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ~]# uname -r 2.6.32-22 ...
- inotifywait监听php,inotifywait命令
Inotify一种强大的.细粒度的.异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性.读写属性.权限属性.删除创建.移动等操作,也就是可以监控文件发生的一切变化.. in ...
- php监听网页日志,如何用php程序监听一个不断增长的日志文件
首先这个日志文件写入不是很频繁,它每一行就是一条有效的日志.我想php程序来监听这个文件,每当被写入一行的时候,我的php就自动读入一行,做出分析然后做相应的处理.请问要如何实现呢? 回复内容: 首先 ...
- oracle启动监听读取哪个文件,监听服务启动及数据文件恢复oracle数据库
最近遭遇了 oralce 监听服务启动了 又自行关闭的 悲惨经历 我把我的过程和大家分享一下! 1)排查原因 程序员是懒惰的,我始终都希望能够成功启动监听服务,但是就是事与愿违 有一下方式可能不能成功 ...
- JAVA实现监听U盘插入 扫描文件
JAVA实现监听U盘插入 想用Java实现监听USB端口是否有移动设备插入,然后操作移动设备内的文件.网站查找资料后发现有个jsr-80的项目,下面先介绍一下什么是JSR:JSR是Java Speci ...
- ie下利用js操作文件及目录
注:以下操作只在IE下有效! Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读. ...
- FileSystemWatcher监听文件是否有被修改
作用:监听文件系统更改通知,并在目录或目录中的文件更改时引发事件. 需求:监听特定文件是否修改,然后做出相应的操作. 方法: ①利用一个线程,一直去查找该指定的文件是否有被修改,如果修改则操作特定步骤 ...
- 使用Epoll 能监听普通文件吗?
epoll 是 Linux 系统中常用的多路复用 I/O 组件,一般用于监听 socket 是否能够进行 I/O 操作.那么,epoll 能监听普通文件吗? epoll 是 Linux 系统中常用的多 ...
最新文章
- 嵌入式程序调用函数的内部过程和机制
- Java数据结构与算法:红黑树
- python初步学习-查看文档及数据类型转换
- python Thread 函数_Python系列学习笔记
- JoyOI(TYVJ)1071-LCIS【线性dp,LIS,LCS】
- Commons Collections4 简单使用
- Java dom序列化字符串,java – 如何在序列化之前从DOM中剥离仅空白的文本节点?...
- PAIP.MYSQL 1045 Access denied for user 'XXXX'@'loca 的解决.txt
- sid图像数据_【技术前沿】首届“水下机器人目标抓取大赛”第一名的图像增强方法...
- sqldependency 的使用
- 邮箱大师支持html,网易邮箱大师使用过程的常见问题
- git安装包百度网盘下载
- 统计java代码行数_统计项目代码行数
- 安装vue脚手架出现的问题 npm ERR! code EEXIST。。。
- 常见的网站攻击以及如何防御自己的网站被恶意攻击
- javase_20(Awt初步认识)
- Linux系统管理员之日志管理
- matplotlib.pyplot.cm结构及用法||参数详解
- 《产品经理深入浅出》PART 6:交互设计
- 【100个 Unity实用技能】☀️ | Unity中设置 允许的最大帧数,锁定游戏的最大帧率(游戏锁帧)
热门文章
- leetcode 227. Basic Calculator II | 227. 基本计算器 II(中缀表达式求值)
- dart系列之:如丝滑般柔顺,操作文件和目录
- Google Spanner 论文笔记
- python安装后在哪里找_python安装后的目录在哪里
- kafka消息反复从头开始消费问题排查
- Lombok介绍、附比较好用的几种注释推荐
- 2020云栖大会,宜搭发布专业开发者能力,助力政企数字化转型——阿里云开发者社区
- 【最详细】数据结构(C语言版 第2版)第八章课后习题答案 严蔚敏 等 编著
- 《数据结构》c语言版学习笔记——其他链表(线性表的链式存储结构Part2)
- linux ctime 时间戳,Linux时间戳atime ctime mtime区别及相关命令