一、inotify简介

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

inotify-tools 是一个C库和一组命令行的工作提供Linux下inotify的简单接口。

inotify-tools中包含inotifywait和inotifywatch两个命令

inotifywait 命令可以用来收集有关文件访问信息,Linux发行版一般没有包含这个命令。需要安装inotify-tools,这个命令还需要将inotify支持编译入Linux内核,好在大多数Linux都在内核中启用inotify。

inotifywatch命令用于收集关于被监控的文件系统的统计数据,包括每个inotify事件发生多少次。

二、inotifywait 使用

-m  #持续监听
-r #使用递归形式监控目录
-q #减少冗余信息,只打印出需要的信息
-e #指定要监控的事件,多个事件使用逗号隔开
access #访问,读取文件
modify #修改,文件内容被修改
attrib #属性,文件元数据被修改
move #移动,对文件进行移动操作 move_to move_from
create #创建,生成新文件
open #打开,对文件进行打开操作
close #关闭,对文件进行关闭操作 close_write close_nowrite
delete #删除,文件被删除 delete_self
unmount #卸载文件或目录的文件系统
--timefmt #时间格式 y 年 m月 d日 H小时 M分钟
--format #监控事件发生后的信息输出格式
%w #表示发生事件的目录
%f #表示发生事件的文件
%e #表示发生的事件
%Xe #事件以“X”分隔
%T #使用由 --timefmt定义的时间格式
--exclude #排除文件或目录时,大小写敏感
# --exclude="(.*.swp)|(.*~$)|(.*.swx)"使用正则匹配排除文件
--excludei #同 --exclude 但是不区分大小写

**问题: **

/usr/local/bin/inotifywait: error while loading shared libraries:libinotifytools.so.0: cannot open shared object file: No such file or directory

解决方法:ln -s /usr/local/lib/libinotifytools.so.0/usr/lib64/libinotifytools.so.0

三、inotifywatch 使用

--fromfile  #从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-z, --zero #输出表格的行和列,即使元素为空
--exclude #正则匹配需要排除的文件,大小写敏感。
--excludei #正则匹配需要排除的文件,忽略大小写。
-r, --recursive #监视一个目录下的所有子目录。
-t , --timeout #设置超时时间
-e , --event #只监听指定的事件。与inotifywait事件一致
-a , --ascending #以指定事件升序排列。
-d , --descending #以指定事件降序排列。

inotifywait实时监控文件目录的更多相关文章

  1. C#实现对文件目录的实时监控

    本文主要描述如何通过C#实现实时监控文件目录下的变化,包括文件和目录的添加,删除,修改和重命名等操作. 首先,我们需要对.net提供的FileSystemWatcher类有所了解.我有些懒,找了MSD ...

  2. 基于邮件系统的远程实时监控系统的实现 Python版

    人生苦短,我用Python~ 界内的Python宣传标语,对Python而言,这是种标榜,实际上,Python确实是当下最好用的开发语言之一. 在相继学习了C++/C#/Java之后,接触Python ...

  3. 使用gulp 合并压缩打包,实时监控文件,实现本地server

    今天不讲webpack,就说说gulp是怎么进行压缩合并打包 首先你的安装gulp : npm install gulp -g --save-dev 然后最基本的你因该知道gulp 的四个方法, gu ...

  4. linux实时监控并实时备份数据(rsync)

    目录 一:rsync实时监控备份流程 1.安装rsync(服务端 与 客服端)守护进程模式 2.修改配置文件(服务端) 3.解析配置内容 4.创建系统用户 5.创建密码文件 6.授权(必须授权为600 ...

  5. 3、架构--cp、scp、rsync、实时监控与同步

    笔记 1.晨考 1.VPN的搭建步骤 2.vpn中的iptables是什么作用? 网络转发 2.昨日问题 1.yum源问题 2.VPN链接正常,但是没办法通过172 3.VPN链接时,出现了DNS错误 ...

  6. inotify 目录文件变更实时监控

    # inotify 软件 # 安装:通过epel,安装在客户端 # 功能:实时监控目录下文件的更变 # 监控事件:创建.删除.修改.移动... # 安装位置:客户端 # 安装命令: sudo apt- ...

  7. 安装 log.io 实时监控 php_error 日志

    Log.io 实时监控 php_error.log 日志 开启 php_error 实时监控日志的第一步,要首先开启 php_error 的功能. vi php.ini 修改 PHP 配置文件,将 ; ...

  8. Android(Linux)实时监控串口数据

    之前在做WinCE车载方案时,曾做过一个小工具TraceMonitor,用于显示WinCE系统上应用程序的调试信息,特别是在实车调试时,用于监控和显示CAN盒与主机之间的串口数据.因为需要抢占市场先机 ...

  9. 项目-基于视频压缩的实时监控系统--tiny6410

    项目-基于视频压缩的实时监控系统--tiny6410 @国嵌linux学习笔记. 1. 构造服务端结构体 server struct server { int epfd; //保存epoll指针 st ...

随机推荐

  1. maven插件: shade, assembly

    shade插件的作用: 通过版本的exclution无法解决jar冲突的问题, 解决方案是把依赖的包打到本model的jar中,打包的时候由mvn plugin自动修改代码中的依赖jar包名 relo ...

  2. D. Vitya and Strange Lesson

    http://codeforces.com/contest/842/problem/D 1.整体的数组是不用变的,比如数组a[]经过一次询问x后,然后再询问y,相当于询问x ^ y ^ a[i]后的m ...

  3. UnityError 打包到Android错误解决

  4. 利用Python进行数据分析 2017 第二版 项目代码

    最近在学习<利用Python进行数据分析>,找到了github项目的地址, 英文版本,中文版本 (非常感谢翻译中文的作者). mark一下,方便后边学习查找.

  5. 自动布局库--Masonry使用

    参考资料(戳这里): >  Masonry官网 >  Masonry介绍与使用实践(快速上手Autolayout) >  iOS 开发实践之 Auto Layout >  Ma ...

  6. springcloud 之 feign的重复性调用 优化

    最近有一个springcloud的feign请求,用于获取坐标经纬度的信息,返回结果永远是固定不变的,所以考虑优化一下,不然每次转换几个坐标都要去请求feign,返回的所有坐标信息,数据量太大导致耗时 ...

  7. nginx配置文件语法高亮

    下载文件 nginx.vim https://vim.sourceforge.io/scripts/script.php?script_id=1886 安装 下载 nginx.vim 文件到 ~/.v ...

  8. iOS开发资料

    https://github.com/XCGit/awesome-objc-frameworks https://github.com/KevinHM/ios-good-practices-the-l ...

  9. linux 命令——47 iostat (转)

    Linux系统中的 iostat 是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会 汇报出CPU使用情况 ...

  10. libav(ffmpeg)简明教程(1)

    突然发现又有好久没有写技术blog了,主要原因是最近时间都用来研究libav去了(因为api极类似ffmpeg,虽然出自同一份代码的另外一个分支,因项目选用libav,故下文均用libav代替),其实 ...