Pyinotify – Linux中实时监控文件系统更改

Pyinotify 是一个简单而实用的 Python 模块,它用于通过 inotify 实时监控Linux文件系统的更改。用于在Linux中实时监控文件系统的变化。

作为系统管理员,您可以使用它来监视目标感兴趣的更改,如Web目录或应用程序数据存储目录及其他目录。这取决于inotify (包含在 2.6.13及后续Linux内核中的功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间。

pyinotiy的目的是绑定三个系统调用,并支持其上的实现,提供了一个共同和抽象的手段来操纵这些功能。

在本文中,我们将向您展示如何在Linux中安装和使用pyinotify来实时监控文件系统更改或修改。

依赖关系

(adsbygoogle = window.adsbygoogle || []).push({});

为了使用pyinotify ,您的系统必须运行:

Linux内核2.6.13或更高版本 Python 2.4或更高版本

如何在Linux中安装Pyinotify 首先检查系统上安装的内核和Python版本,如下所示:

# uname -r 
# python -V

一旦满足依赖关系,我们将使用pip来安装pynotify 。 在大多数Linux发行版中,如果您使用从python.org下载的Python 2> = 2.7.9或Python 3> = 3.4二进制文件, Pip已经安装,否则安装如下:

# apt-get install python-pip

现在,像这样安装pyinotify:

# pip install pyinotify

它将从默认存储库安装可用版本,如果您希望具有最新的稳定版本的pyinotify ,请考虑将其克隆为git仓库,如图所示。

# git clone https://github.com/seb-m/pyinotify.git
# cd pyinotify/
# ls
# python setup.py install

如何在Linux中使用pyinotify 在下面的示例中,我以root用户(通过ssh登录)监视用户 jchen 的home( / home/jchen )目录的任何更改,如屏幕截图所示:

# python -m pyinotify -v /home/jchen

监控目录更改

接下来,我们会随时关注Web目录( /var/www/html/debian.cn )的任何更改:

# python -m pyinotify -v /var/www/html/debian.cn

要退出程序,只需点击[Ctrl+C] 。

注意 :当您运行pyinotify而不指定任何要监视的/tmp时,默认情况下会考虑/tmp 。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

克隆虚拟机的注意点

在虚拟机中的 “管理”——>克隆虚拟机 更改虚拟机的IP,配置文件为 /etc/sysconfig/network-scripts/ifcfg-ens32 中 ...

1999
来自专栏IT可乐

Linux系列教程(十九)——Linux文件系统管理之手工分区

  上篇博客我们首先介绍了硬盘为什么要分区,以及Linux系统的几种分区类型,然后介绍了Linux系统几个常用的文件系统命令,最后讲解了挂载命令,并通过实例演示...

1827
来自专栏测试文章

当影响范围内Nginx默认配置文件中开启缓存

当影响范围内Nginx默认配置文件中开启缓存功能时,攻击者可以通过发送包含恶意构造 range 域的 header 请求,来获取响应中的缓存文件头部信息。在某些...

20211
来自专栏Java工程师日常干货

分享工作中常用的一个Git脚本前言一个自动化脚本运行结果脚本内容

在实际开发中,我们很频繁的需要从git远程仓库拉取master代码建立分支进行开发,开发完毕后,我们需要push到远程进行build、部署和测试,这里博主根据自...

1123
来自专栏Aloys的开发之路

Unix/Linux操作系统中如何在sqlplus/rman中使用方向键

默认情况下在Unix/Linux中使用Oracle的sqlplus/rman是无法使用↑↓←→几个方向键进行操作的,要想达到Windows下使用sqlplus/...

2096
来自专栏salesforce零基础学习

salesforce 零基础学习(二十)简单APP制作

本篇参考链接:https://developer.salesforce.com/trailhead/project/salesforce_developer_w...

2418
来自专栏Thinks

Service Worker最佳实践

Service Worker是一项比较新的Web技术,是Chromium团队在吸收了ChromePackaged App的Event Page机制,同时吸取了H...

3361
来自专栏云上大文件传输

镭速2.0版本全新功能-分享下载

镭速2.0版本即将发布,在这里给大家介绍2.0版本新增的两个重要功能,“分享下载”和“邀请上传”。

40010
来自专栏静默虚空的博客

JDK 升级问题小结

JDK8 发布很久了,它提供了许多吸引人的新特性,能够提高编程效率。 如果是新的项目,使用 JDK8 当然是最好的选择。但是,对于一些老的项目,升级到 JD...

4225
来自专栏运维前线

php7下安装event扩展

php7下安装event扩展 有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,是PHP基础设施的libevent端口。 ...

31110

扫码关注云+社区

领取腾讯云代金券