【命令格式】: inotifywait [ options ] file1 [ file2 ] [ file3 ] [ ... ]
【命令原意】: inote file system wait
【命令路径】:
【命令功能】:
等待所监听的文件系统触发操作事件
【执行权限】: root
【命令描述】:
    众所周知,Linux
桌面系统与 MAC 或 Windows
相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如
hotplug、udev 和 inotify 就是这种需求催生的。Hotplug
是一种内核向用户态应用通报关于热插拔设备一些事件发生的机制,桌面系统能够利用它对设备进行有效的管理,udev 动态地维护 /dev
下的设备文件,inotify 是一种文件系统的变化通知机制,如文件增加、删除等事件可以立刻让用户态得知,该机制是著名的桌面搜索引擎项目 beagle
引入的,并在 Gamin 等项目中被应用。

Inotify
是一个内核用于通知用户空间程序文件系统变化的机制,是基于inode级别的文件系统监控技术,是一种强大的、细粒度的、异步的机制,它满足各种各样的文件监控需要,不仅限于安全和性能,内核要求2.6.13以上,inotify能监控非常多的文件系统事件,通过监控这些事件来监控文件是否发生变更,然后通过rsync来更新发生变更的文件,Inotify
可以监视的文件系统事件包括:

【常用选项】:
    -h 或 --help 显示帮助

@<file> Exclude
the specified file from being watched.

--exclude
<pattern>
指定排除(忽略)部分文件或目录,这些文件或目录上不监听任何事件,正则表达式书写(相对路径)
     
FMT: # --exclude 'Runtime' //忽略对Runtime目录的事件监听

--excludei <pattern>
与--exclude相同,区别是此选项正则表达式忽略大小写

-m 或 --monitor
持续保持监听(如果不加此选项,则监听到一次后便退出)

-d 或 --daemon
以守护进程方式后台运行(除了在后台运行外,与-m选项一样)

-r 或 --recursive
递归监听其下所有子目录及文件

--fromfile <file>
Read files to watch from <file> or `-' for stdin.

-o 或 --outfile
<file> 将事件输出到指定文件,而不输出到屏幕
     
FMT: -o /var/log/inotifywait.log

-s 或 --syslog
将错误发送到系统日志,而不是输出到屏幕

-q 或 --quiet
打印较少信息(仅打印事件)

-qq
不打印任何信息(静默方式)

--format <fmt>
设置打印屏幕的格式,常见选项:%T时间;%w触发事件文件所在绝对路径;%f触发事件文件名称;%e触发的事件名称;
     
FMT: # --format '%T %f %e'

--timefmt <fmt>
指定输出时间内容,相当于将时间赋值给%T
      FMT: #
--timefmt '%y-%m-%d %H:%M'

-c 或 --csv
用CSV格式打印事件

-t 或 --timeout
<seconds> 指定一次性监听时间,超时退出监听(值为0表示永不超时,单位:秒),不可与 -m -d
连用
      FMT: # -t 60
//设定监听60秒,60秒内监听到事件立即退出,如果监听不到事件60秒后也退出

-e 或 --event
<event1> [ -e|--event <event2> ... ]
指定要监听的事件(多个事件用逗号分割)
      FMT: # -e
'create,delete,close_write,attrib,moved_to'

【总结提示】:

Exit status: 退出返回状态值
  0 -
An event you asked to watch for was received.

      正常收到监听事件

1 - An event you did not ask to watch for was received (usually
delete_self or unmount), or some error
occurred.
     
意外收到一个未监听的事件(如:文件自删除,umount及其它情况)

2 - The --timeout option
was given and no events occurred in the specified interval of
time.
      当给定了超时选项,设定时间内没有事件产生

Events: 事件
 
access        file or directory
contents were read 文件或目录被(访问)读取r
 
modify        file or directory
contents were written 文件或目录被写入w
 
attrib        file or directory
attributes changed 文件或目录属性变更【理由:chmod更改属性】
 
close_write   file or directory closed, after being opened in
writeable mode 文件或目录被写关闭【理由:文件内容被更改】
  close_nowrite file or
directory closed, after being opened in read-only mode 文件或目录以只读方式打开后关闭

  close         file or
directory closed, regardless of read/write mode
文件或目录被用编辑器(不管是读或写)关闭
 
open          file or
directory opened 文件或目录被用编辑器打开
 
moved_to      file or directory moved to watched
directory 文件或目录被移动进来【理由:mv目录内重命名】
  moved_from   
file or directory moved from watched directory 文件或目录被移动出去
 
move          file or
directory moved to or from watched directory 文件或目录不管是移出或移进
 
create        file or directory created
within watched directory 文件或目录被创建【理由:mkdir创建目录】
 
delete        file or directory deleted
within watched directory 文件或目录被删除【理由:rm删除】
 
delete_self   file or directory was deleted 文件或目录自删除
 
unmount       file system containing file or
directory unmounted 文件系统取消挂载

【参考文档】:

【选项举例】:

★ 监听/wwwroot/web.d目录内所有文件和目录的"增删改"操作

[root@zzx ~]# /usr/local/inotify/bin/inotifywait -mrq -e 'create,delete,close_write,attrib,moved_to' --timefmt '%Y-%m-%d %H:%M' --format '%T %f %e' /wwwroot/web.d/
-- : text.txt CREATE
-- : text.txt CLOSE_WRITE,CLOSE
-- : ttt.t MOVED_TO
-- : bb DELETE

inotifywait命令的更多相关文章

  1. inotifywait命令如何监控文件变化?

    转载自:https://segmentfault.com/a/1190000038351925 文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文 ...

  2. inotifywait命令详解及安装

    https://www.cnblogs.com/pyrene/p/6414724.html     安装 https://www.cnblogs.com/martinzhang/p/4126907.h ...

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

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

  4. inotifywait实时监控文件目录

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

  5. inotifywait实现文件监控

    应用场景文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文件同步.(可用于代码自动发布) 安装noitify下载地址:http://github. ...

  6. 实战:rsync+inotify实现数据实时同步

    Linux 内核从 2.6.13 版本开始提供了 inotify 通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等.利用这一机制,可以非常方便地实现文件异动告警.增量备份,并针对目录 ...

  7. 开源服务专题之-------rsync数据备份

    RSYNC是Remote Sync 远程同步的简称,与SCP的比较,SCP= 无法备份大量数据,类似windows的复制,而rsync=边复制 ,边统计,边比较,可以备份大量数据.可以镜像保存整个目录 ...

  8. 烂泥:rsync与inotify集成实现数据实时同步更新

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上篇文章我们介绍了如何使用rsync同步文件,这篇文章我们再来介绍下,如何把rsync与inotify集成实现数据的实时同步. 要达到这个目的,我们需要 ...

  9. rsync+inotify实现实时同步案例--转

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

随机推荐

  1. matlab 车牌分割的算法

    function Touying(g) f=rgb2gray(g); % [m n]=size(f); [row col]=size(f); % T=graythresh(f) % T=T*255 % ...

  2. 基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案

    分布式Web网站一般都会碰到集群session共享问题,之前也做过一些Spring3的项目,当时解决这个问题做过两种方案,一是利用nginx,session交给nginx控制,但是这个需要额外工作较多 ...

  3. git基本用法说明(原创+验证)

      关于文件状态   一般仓库中的文件可能存在于这4种状态: 1)Untracked files                     → 文件未被跟踪(A)  2)Untracked but no ...

  4. 快速开发一个PHP电影爬虫

    今天来做一个PHP电影小爬虫.我们来利用simple_html_dom的采集数据实例,这是一个PHP的库,上手很容易.simple_html_dom 可以很好的帮助我们利用php解析html文档.通过 ...

  5. AndroidUI设计之布局-详细解析布局实现

    写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器 ...

  6. Hyper-v之利用差异磁盘快速创建多个虚拟机

    在新建Hyper-v磁盘的时候 有3种选项 其中分别是 固定大小 动态扩展 和 差异(differencing,个人习惯叫 差分) 其中 固定大小是新建的时候 Hyper-v创建一个设置大小值的文件, ...

  7. windows平台eclipse for C++开发环境搭建

    参考: 1 blog.sina.com.cn/s/blog_75f3c1f201014l5c.html 2 MinGW官方的安装说明 一.安装并配置MinGW 1 MinGW官网(www.mingw. ...

  8. 方便的一站式svn/git服务器软件(linux)

    https://www.scm-manager.org/ The easiest way to share and manage your Git, Mercurial and Subversion ...

  9. Thunderbird扩展

    FromToGMAP 1.4 Mail Redirect 0.7.8 MinisizeToTray revived 1.1.2 Nightly Tester Tools 3.7 Thunderbrid ...

  10. 【解决】SharePoint Foundation 2013 未显示搜索框

    在正确安装 SharePoint Foundation 2013 后会发现页面中缺少搜索框. 经查询网页了解到这是一个Bug,而且在 SP1 中也没有修复,所以即便是安装了 SP1 补丁的系统也需要下 ...