linux-inotify工具监控文件状态变化总结
创始人
2025-05-31 06:43:16

linux-inotify工具监控文件状态变化总结

大纲

  • 1 安装
  • 2 使用

Inotify 它是在内核 2.6.13 版本中引入的一个新功能,它为用户态监视文件系统的变化提供了强大的支持,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个文件,例如打开、关闭、移动/重命名、删除、创建或者改变属性。

在这里插入图片描述

inotify 可以监控文件的变化,使用场景适合监视配置文件变化,后触发重启程序

安装

安装inotify

  • CentOS yum install inotify-tools -y
  • Ubuntu apt-get install inotify-tools -y

使用源码编译安装

以Ubuntu为例子
可能需要安装 gcc cmake libc6-dev

wget http://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz

./configure
make && make install

自动安装到
/usr/local/bin/inotifywait
/usr/local/bin/inotifywatch

inotifywait 仅执行阻塞,等待 inotify 事件,你可以使用它来监控任何一组文件和目录,或监控整个目录树(目录、子目录、子目录的子目录等等),并且可以结合 shell 脚本,更好的使用 inotifywait。
inotifywatch 用来收集关于被监视的文件系统的统计数据,包括每个 inotify 事件发生多少次。

使用 inotifywait

主要有以下几个配置参数

  • -m 持续监听 (否则监听一次后就退出了)
  • -r 使用递归形式监视目录 (可以监听到子文件夹)
  • -q 减少冗余信息,只打印出需要的信息
  • -e 指定要监视的事件,多个时间使用逗号隔开
  • –timefmt 时间格式 (例如 --timefmt ‘%Y-%m-%d %H:%M:%s’)
  • –format 监听到的文件变化的信息 (主要使用–timefmt 则需要同时使用 --format)

-e 指定要监视的事件

  • access 访问,读取文件。
  • modify 修改,文件内容被修改
  • attrib 属性,文件元数据被修改。
  • move 移动,对文件进行移动操作。
  • create 创建,生成新文件
  • open 打开,对文件进行打开操作
  • close 关闭,对文件进行关闭操作。
  • delete 删除,文件被删除。

–format

  • %w 表示发生事件的目录
  • %f 表示发生事件的文件
  • %e 表示发生的事件
  • %Xe 事件以“X”分隔
  • %T 使用由–timefmt定义的时间格式

例如
输出 时间 变化的文件夹 文件 事件

–format ‘%T %w %f %e’

基础使用方式

监听文件夹的变化

inotifywait -e modify,move,create,delete -mr  /ops/tmp/ 

在这里插入图片描述

监听文件夹的变化,指定时间格式,输出各式

inotifywait -e modify,move,create,delete -mr --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w %f %e'  /ops/tmp/

在这里插入图片描述

高级使用

可以把命令编写成一个脚本,并把内容输入到变量中,基于条件处理

#!/bin/bash
configfile='.conf$'inotifywait -e modify,delete -mr --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w %f %e'   /ops/tmp/ | while read day time folder file event;
do# echo $time  $folder  $file  $eventif [[ $file =~ $configfile ]]; thenecho "is .conf file "$file  $eventfi
done

注意 if中使用正则表达式,需要使用[[]]括起来

在这里插入图片描述

相关内容

热门资讯

华为p10闪存怎么检测华为p ... 首先,非常感谢您对华为P10的关注。为了检测华为P10的闪存情况,您可以按照以下步骤进行操作: ...
广州哪里可以学做咖啡,广州学做... 1. 咖啡学院:专业的咖啡学院提供全面的咖啡课程,包括咖啡豆知识、咖啡制作技巧、咖啡品尝和评估等。在...
如何发现手机被监听,首先,我们... 1. 检查手机设置:确保你的手机设置中的隐私设置已经正确配置,并且只允许你信任的应用访问你的位置、通...
day13 模块和异常捕获总结 day13 模块和异常捕获 一、生成器 (一)、什么是生成器 1...
寒假文化课辅导招生宣传语有哪些... 1. 寒假来袭,文化课辅导助你一臂之力! 2. 告别寒假无聊,加入文化课辅导班,充实自己! ...
【新星计划2023】SQL S... 【新星计划2023】SQL SERVER -- 基础知识1. Introduction1.1 Off...
街边烤鸡20一只,揭秘背后的猫... 为什么农村土鸡一只卖上百块,而街上的烤鸡才20块? 难道还真是往船长的四...
微信小程序根据CODE获取用户... public function get_user_opendid() { $code = $...
漳州新车上牌流程(漳州汽车上牌... 今天给各位分享漳州新车上牌流程的知识,其中也会对漳州汽车上牌需要居住证吗进行解释,如果能碰巧解决你现...
载字的部首是哪一个 极速百科网... 载字的部首是“车”。收到你的喜欢啦收到你的喜欢啦载字的部首是哪一个汉字“载”是一个非常古老的文字,其...
常用的 IntelliJ ID... 以下是 30 个 IntelliJ IDEA 常用的快捷键: Ctrl + S...
喜可以组什么词成语,标题:喜从... 喜逐颜开、喜笑颜开、双喜临门、喜出望外、喜从天降、沾沾自满收到你的喜欢啦收到你的喜欢啦标题:喜从天降...
莫失莫忘仙寿恒昌是什么意思,标... “莫失莫忘,仙寿恒昌”是一句寓意深刻的话,可以理解为“不要忘记,就能够长久保持健康和长寿”。这句话表...
关于Docker逃逸 关于Docker逃逸 文章目录关于Docker逃逸前言一、判断是否为docker容器?...
在Centos上架设Zerot... Zerotier在国外,经常不好访问,Moon根服务也不是很好用。我们可...
超薄网络变压器(百兆千兆万兆)... Hqst华强盛:随着主板小型化,超薄型网络变压器越来越有集中的需求&#x...
思铂睿油耗有多少(思铂睿油耗多... 本篇文章极速百科给大家谈谈思铂睿油耗有多少,以及思铂睿油耗多少钱一公里对应的知识点,希望对各位有所帮...
描写冬天的好词好句 极速百科网... 好词: 银装素裹、白雪皑皑、玉树琼枝、寒风凛冽、冰天雪地、寒气逼人、雪中送炭、红炉暖阁、寒梅傲...
dnf怎么带人强开魔界深渊 极... 地下城与勇士(简称DNF)是由腾讯发行的手机游戏。该游戏是一款2D卷轴式横版格斗过关网络游戏,大量继...
高通670相当于骁龙多少 极速... 高通670相当于骁龙多少高通670处理器,这是一款颇受关注的产品,尤其在智能手机领域。作为美国高通公...
Qt实战技能 快捷键: 多行注释: 选中多行---ctrl+/ 打开文件或...
CentOS操作系统libc.... 使用xshell登陆Linux后查看jdk版本提示 /lib64/libc.so.6: versio...
@RequestMapping... 在享受了@RequestMapping方便的处理映射时,忍不住会开始好奇&#x...
配风景照的的简短文字,穿越时光... 光影交织中,我寻找着生活的诗意。每一张风景照,都是我对大自然的热爱与敬畏。愿你也能在繁忙的生活中,找...
计算机专业的就业方向是什么,计... 计算机专业的就业方向非常广泛,主要包括以下几个方面: 1. 软件开发:这是计算机专业最主要的就...
诗圣是谁(诗圣是谁诗仙又是谁)... 本篇文章极速百科给大家谈谈诗圣是谁,以及诗圣是谁诗仙又是谁对应的知识点,希望对各位有所帮助,不要忘了...
表示红的成语ABAB 极速百科... 表示红的成语ABAB有:红红火火。收到你的喜欢啦收到你的喜欢啦
labview程序结构for循... wx供重浩:创享日记 对话框发送:labview程序 获取完整无水印报告...
[数据结构高频面试题]用两个栈... 文章目录 一、栈实现队列的特点分析 1、1 具体分析 1、2 整体概括 二、用栈模拟队列代码的实现 ...
手写Promise源码的实现思... Promise的使用: let promise = new Promise((...