• inotifywait实时监控文件目录


    一、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 #以指定事件降序排列。
    只有今天
  • 相关阅读:
    Atlas+Keepalived系列一:安装Atlas:
    MySQL查看当前的连接信息
    MySQL replicate-ignore-db详解
    MongoDB 进程控制系列二:结束进程
    MongoDB 进程控制系列一:查看当前正在执行的进程
    MySQL 大致测试更新时间
    MySQL SELECT 执行的具体步骤
    MongoDB副本集配置系列七:MongoDB oplog详解
    MySQL 分区
    微软BI 之SSIS 系列
  • 原文地址:https://www.cnblogs.com/arnoLixi/p/10713944.html
Copyright © 2020-2023  润新知