ubuntu下inotifywait实现目录、文件监控【包含子目录】

linux之Ubuntu系列 系统信息 (一)查看文件、磁盘 、进程。时间和日期 top、网络状态监控 ps [aux] 注意: 没有 - , ps:process status 查看进程的详细状态 cpu、memory 等情况。df [-h] df:disk free 显示磁盘可用空间,-h,跟 ls -lh 效果类似,以人性化方式 展示。-9 表示强制终止(类似windows系统中 删除,其它文件在使用等情况,可用强制删除。上的所有进程,包括其它用户通过终端执行的进程 , 侧重点 是通过终端 执行的进程。使用kill 指令,最好只结束当前用户开启的进程,而。 阅读详情

inotifywait命令

【命令格式】: 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 文件系统取消挂载

Linux文件安全与完整性保护:从权限控制到入侵检测的实战指南 在Linux系统运维中,文件安全与完整性保护是保障系统稳定和数据可靠的核心基础。其原理基于访问控制与完整性校验两大支柱:通过权限管理、ACL和文件属性实现精细化的访问控制,防止未授权操作;通过哈希校验、监控审计等技术验证文件内容是否被篡改。这些技术的工程价值在于构建纵深防御体系,有效应对内部误操作、外部入侵和供应链攻击等安全威胁。典型应用场景包括保护关键配置文件、系统二进制文件、日志文件以及Web应用代码等核心资产。本文聚焦于Linux文件安全防护,详细介绍了如何使用chattr设置不可变属性、通过audi 阅读详情

相关推荐

Ubuntu下坚果云深度配置:自定义同步规则与符号链接实战

文件同步是跨平台开发与团队协作中的基础需求,其核心原理在于保持多端数据的一致性。在Linux生态中,WebDAV协议为实现稳定、可编程的同步方案提供了技术基础。通过客户端与规则引擎的结合,可以构建自动化同步流程,这对提升开发效率和保障数据安全具有重要价值。本文聚焦Ubuntu环境下坚果云客户端的深度定制,通过解析.nutstore_dir_filter配置语法与符号链接(Symlink)的工程实践,解决如排除node_modules、.git目录等实际开发场景中的同步痛点,实现贴合复杂工作流的智能化同步体系

weixin_30430169的博客 570

inotify命令参数

inotify 语法结构: inotify 参数 事件 监控目录 实时目录中数据排除监控功能: –exclude 排除指定信息不要进行监控(区分大小写识别信息) –excludei 排除指定信息不要进行监控(忽略大小写识别信息) -d|–daemon 类似于-m 参数 一直监控 -q 将无用的信息禁止输出 指定输出信息的格式: –format 指定输出信息的格式 %e 显示触...

热气球 1437

Linux桌面安全防护:ClamAV杀毒软件深度集成与自动化配置指南

在操作系统安全领域,病毒防护是基础且关键的环节,其原理主要基于特征码匹配和行为分析来识别恶意软件。这项技术的核心价值在于主动防御,能够有效防止数据泄露、系统破坏等安全风险,广泛应用于服务器、邮件网关及个人计算环境。随着Linux在桌面和开发环境中的普及,针对该平台的威胁也逐渐增多,跨平台攻击和供应链攻击成为新的挑战。在此背景下,ClamAV作为一款开源、跨平台的防病毒引擎,凭借其轻量、可脚本化及规则库持续更新的特性,为Linux桌面用户提供了有效的辅助性安全工具。通过配置实时监控、自动化定期扫描及文件系统事

weixin_33716154的博客 374

Inotify——实现Linux文件系统的监控

Inotify是Linux中用于监控文件系统变化的API,该API可以实现用非轮询的方式,近似实时地监控目录或文件发生的变化。

weixin_57973810的博客 2285

Ubuntu误删.docx文件恢复实战指南

Linux文件删除并非彻底擦除,而是释放inode与数据块引用;ext4文件系统通过日志(journal)和未覆写的数据块保留恢复可能。技术价值在于利用底层元数据重建已删除内容,适用于办公文档、开发资料等关键数据抢救场景。实际恢复依赖三大前提:ext3/ext4文件系统、删除后无新数据覆盖、分区只读挂载。本文聚焦Ubuntu环境下.docx文件的精准恢复流程,涵盖extundelete工具使用、inode定位、ZIP结构修复及防误删三层防护体系,兼顾数据安全与工程实践。

weixin_29574585的博客 254

Ubuntu下文件监控系统

1.进入系统一个欢迎界面 2.用户可以选择什么时间段,监控哪个目录下的文件增加删除修改并有日志输出(生成文档) 3.能监控不同时间段下的不同目录 4.退出在用户选择的时间段过期后点击可以退出系统,时间没有到或者正在执行某个目录下监控弹出提示框:用户有正在执行或将要执行的任务点击确定按钮取消任务安全退出,点击取消按钮继续运行程序 5.可以点击查看任务清单,清单中显示过去24个小时的任务

Ubuntu通过rsync和inotify实现双机热备

rsync+inotify双机热备

表达 交流 自省 完善 2054

别再为电路自激发愁了:手把手教你用吸波材料搞定微波腔体谐振(附HFSS仿真设置)

本文详细解析了微波腔体谐振问题的工程解决方案,重点介绍了吸波材料的选型、安装工艺及HFSS仿真设置。通过实际案例和计算工具,帮助射频工程师有效抑制腔体自激,提升系统稳定性。特别适用于35GHz毫米波雷达等高频电路设计场景。

weixin_42662293的博客 384

ZeroTermux 内置命令手册详解:inotifywait 文件系统监控实战指南

本文围绕 ZeroTermux 内置 Linux 命令速查手册中的 `inotifywait` 文档展开,系统讲解 Linux 内核 inotify 文件系统监控机制的原理、内核支持检测、inotify-tools 安装配置、内核参数调优,以及 `inotifywait` 命令的完整参数与事件监听体系。读完本文,你将掌握如何在 Termux / Linux 环境下编写基于 inotify 的目录实

gitblog_00076的博客 348

FFTW多核优化避坑指南:从交叉编译到ELF2板载OpenMP部署全流程

本文详细介绍了在ELF2开发板(RK3588平台)上为FFTW库配置OpenMP多核并行的完整流程与避坑指南。内容涵盖从交叉编译、库依赖处理到板载部署的实战步骤,并深入分析了RK3588的big.LITTLE架构对线程调优的影响,帮助开发者在嵌入式环境中高效利用多核性能。

2a4s6d8f0g的博客 273

[工具使用]黑暗引擎FOFA

黑暗引擎FOFAFOFA(点我进入)逻辑运算符搜索子域名domain搜索指定内容的host全部域名bodycert搜索选定应用的网站搜索指定开放端口的IP搜索指定协议的IP搜索IP或者网段的信息搜索指定CSS/JS网站常用的一些内容其他 FOFA(点我进入) 官网这样描述:FOFA是白帽汇推出的一款网络空间资产搜索引擎。它能够帮助用户迅速进行网络资产匹配、加快后续工作进程。例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。 简单理解就是,一个本土加强版shodan,知道某产品在互联网的部署情况、

网络安全知识分享 3万+

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

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

liuyij3430448的博客 2916

SRC漏洞挖掘实战指南:从零入门到月入过万的网络安全副业

网络安全的核心在于识别和修复系统缺陷,其中逻辑漏洞与信息泄露是常见的安全风险。其原理在于应用程序在业务逻辑设计或数据处理过程中存在缺陷,导致未授权访问或敏感数据暴露。掌握这些技术对于构建安全的应用体系至关重要,不仅能有效防范攻击,也为安全研究人员提供了将技术能力变现的合法途径。在漏洞赏金(Bug Bounty)和SRC(安全应急响应中心)等应用场景中,白帽子通过系统化的测试方法,挖掘此类漏洞,既能获得经济回报,又能积累宝贵的实战经验。本文聚焦于逻辑漏洞与信息泄露的实战挖掘技巧,为初学者提供清晰的入门路径和效

weixin_28568819的博客 351

rsync 结合 inotify 实现文件实时同步(二)

rsync 结合 inotify 实现文件实时同步

GG Bond 的博客 764

ArcGIS属性表汉字转拼音

接着我安装了一个编辑器“PyCharm Community Edition 2019.3.3\bin\pycharm64.exe”,在里面添加“pypinyin”包,然后将其设置为arcgis的编辑器和调试程序,还是失败;我在10.6的机器上折腾了上面几步,直到两周后脚本突然运行成功,我也不确定是哪一步导致pypinyin包配置成功,因此将心得体会写出来,如果过一段时间,打开10.2的机器运行脚本成功了,再写后续.......,按照“配置方法1:”进行尝试,显示配置失败。

2301_77413856的博客 1296

基于HetConv与Dual策略的YOLOv8轻量化设计-CSPHet结构的优化与实现

在计算机视觉中,YOLOv8作为目标检测领域的最新版本,通过引入多种改进来提升检测精度和速度。然而,提升精度和保持实时性能往往需要更多参数与计算量。本文提出一种结合Dual思想与HetConv的新型轻量化结构,称为CSPHet。CSPHet能够在保持YOLOv8检测精度的基础上有效减少约70万参数量,实现模型的轻量化和速度的提升。HetConv(Heterogeneous Convolution)是一种混合卷积技术,通过同时使用1x1、3x3等不同大小的卷积核,来捕捉不同尺度的特征。

博客 1327

ubuntu安装Rsync+inotify实时同步

1 inotify介绍 inotify 是一个从 2.6.13 内核开始,对 Linux 文件系统进行高效率、细粒度、异步地监控机制, 用于通知用户空间程序的文件系统变化。可利用它对用户空间进行安全、性能、以及其他方面的监控。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。如果内核版本不低于 2.6.13,系统就支持 inotify。 如果存在 /usr/include/sys/inotify.h 文件, 表明内核支持 inotify。 root@limingtest-1:

爱吃鱼的小明的博客 2585

VMware Horizon 8 2111 部署系列(九)创建即时克隆桌面池

即时克隆桌面池是在 vCenter Server 中使用 vmFork 技术(称为即时克隆 API)从最佳配置映像创建的自动桌面池。即时克隆共享同一个基础映像虚拟机,使用基础映像虚拟机的快照创建的,它使用的存储空间也少于完整虚拟机。 即时克隆始终保持开机状态,并在注销后从当前发布的映像重新创建。...

白昼的技术专栏 4047

3大核心技巧:用inotify-tools解决Linux文件监控的常见痛点

您是否曾经遇到过这样的问题:作为Linux系统管理员,需要实时监控关键配置文件的变化,但传统的轮询方法既低效又占用大量资源?或者作为开发者,希望实现代码热重载,却苦于找不到轻量级的文件监控方案?这正是许多技术人员在日常工作中面临的真实挑战。 inotify-tools正是为解决这些问题而生的强大工具集。它基于Linux内核的inotify机制,提供了两个核心命令行工具:inotifywait用于

gitblog_00480的博客 672

【问题解决】Python 异步 asyncio 卡死、协程不执行、任务泄漏,保姆级排错

本文详细分析了Python异步编程中常见的卡死、协程不执行和任务泄漏问题。文章首先列举了这些问题的典型表现,如程序卡住、死锁、任务未启动等。然后深入剖析了各类问题的根源,包括同步阻塞操作、未正确await、资源未清理等。针对这些问题,文章提供了两套解决方案:一是异步编程最佳实践,包括安全协程执行、带超时的执行、任务清理等实用方法;二是死锁检测和预防机制,通过锁管理和等待图分析来避免死锁。文章还包含可直接使用的代码示例,帮助开发者快速定位和解决异步编程中的常见问题。

博客 451

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ubuntu rsync inotify 配置

CentOS 5.3的rsync升级3。X 安装步骤 [c-sharp] view plaincopyprint? wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm  rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386

逆雪寒的天坑 1995

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Windows与Ubuntu跨平台FTP文件传输实战指南

FTP(文件传输协议)作为经典的网络传输协议,在混合操作系统环境中展现出独特优势。其基于客户端-服务器架构,通过21号控制端口和动态数据端口实现可靠传输,支持主动/被动两种连接模式。在物联网数据采集、CI/CD构建产物传输等场景中,FTP的断点续传、大文件支持和权限控制特性使其成为跨平台文件交换的首选方案。通过vsftpd服务端与FileZilla客户端的组合配置,配合SSL/TLS加密和防火墙策略,可构建安全高效的传输通道。相比Samba共享方案,FTP在千兆网络下传输1GB文件速度提升15%,特别适合大

weixin_34218890的博客 464

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Linux文件系统目录结构解析与实用指南

Linux文件系统采用树状目录结构,遵循FHS标准,以'一切皆文件'为核心设计理念。这种结构通过统一的路径管理简化了系统操作,同时支持多用户环境下的权限控制。关键技术实现包括设备文件抽象(/dev)、动态运行时数据(/run)和虚拟文件系统(/proc)。对于开发者而言,掌握/bin、/etc、/var等核心目录的功能差异至关重要,这直接关系到软件部署、日志管理和系统维护的效率。在实际生产环境中,合理的目录权限设置(如755、700)和存储规划(如独立/var分区)能显著提升系统安全性和I/O性能。本文特别

weixin_30902251的博客 403

Ubuntu虚拟机共享文件夹配置全解:vmhgfs-fuse原理与实战

共享文件夹是Linux虚拟机与宿主机协同开发的基础能力,其本质是通过FUSE用户态文件系统实现跨平台文件访问。核心原理在于vmhgfs-fuse进程动态挂载Windows共享路径,而非传统内核模块驱动;技术价值体现在免配置、低侵入、实时同步,适用于代码协作、日志共享、数据交换等典型场景。但因Ubuntu 22.04默认禁用vmhgfs内核模块、依赖UID/GID显式映射、且挂载点生命周期受systemd管理,导致常见‘/mnt/hgfs为空’‘Permission denied’等问题。本文聚焦vmhgfs

weixin_34292402的博客 410

inotify-tools部署与配置:从源码编译到生产环境最佳实践

inotify-tools是一款强大的Linux文件系统事件监控工具,能够实时跟踪文件和目录的变化,是系统管理员和开发者监控文件系统活动的必备工具。本文将详细介绍如何从源码编译安装inotify-tools,并提供生产环境中的配置最佳实践,帮助你快速掌握这一工具的使用方法。 ## 一、inotify-tools简介 inotify-tools包含两个核心工具:`inotifywait`和`in

gitblog_00976的博客 1132

Ubuntu 22.04 搭建本地 apt 仓库:5步实现离线批量部署 .deb 包

本文详细介绍了在Ubuntu 22.04上搭建本地apt仓库的5个步骤,实现离线环境下.deb包的批量部署。通过创建标准化目录结构、配置仓库索引、设置客户端访问策略等操作,帮助系统管理员高效管理软件包分发,特别适用于金融、制造业等需要安全隔离的场景。

weixin_30315723的博客 429
上一篇: ubuntu 16.4 安装postgreSQL,使C++链接到数据库
下一篇: ./NISwGSP: error while loading shared libraries: libopencv_stitching.so.3.0: cannot open shared obje
JSON_ZJS
博客等级 码龄9年 30粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值