Pyinotify - 在 Linux 中实时监控文件系统变化
Pyinotify 是一个简单但有用的 Python 模块,用于实时监控 Linux 中的文件系统变化。
作为系统管理员,您可以使用它来监视感兴趣的目录(例如 Web 目录或应用程序数据存储目录等)发生的更改。
建议阅读: fswatch – 监视 Linux 中的文件和目录更改或修改
它依赖于inotify(内核2.6.13中合并的Linux内核功能),它是一个事件驱动的通知程序,它的通知通过三个系统调用从内核空间导出到用户空间。
pyinotiy 的目的是绑定三个系统调用,并支持在它们之上的实现,提供通用且抽象的方法来操作这些功能。
在本文中,我们将向您展示如何在 Linux 中安装和使用 pyinotify 来实时监控文件系统更改或修改。
依赖关系
为了使用pyinotify,您的系统必须正在运行:
- Linux 内核 2.6.13 或更高版本
- Python 2.4 或更高版本
如何在 Linux 中安装 Pyinotify
首先检查系统上安装的内核和 Python 版本,如下所示:
uname -r
python -V
一旦满足依赖关系,我们将使用 pip 安装pynotify。在大多数 Linux 发行版中,如果您使用下载的 Python 2 >=2.7.9 或 Python 3 >=3.4 二进制文件,则已安装 Pip来自 python.org,否则,按如下方式安装:
yum install python-pip [On CentOS based Distros]
apt-get install python-pip [On Debian based Distros]
dnf install python-pip [On Fedora 22+]
现在,像这样安装 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 登录)的身份监控用户 howtoing 的主目录 (/home/howtoing) 的任何更改,如屏幕截图所示:
python -m pyinotify -v /home/tecmint
接下来,我们将监视 Web 目录 (/var/www/html/howtoing.com) 的任何更改:
python -m pyinotify -v /var/www/html/linux-console.net
要退出程序,只需按[Ctrl+C]
即可。
注意:当您运行pyinotify而不指定任何要监控的目录时,默认情况下会考虑/tmp
目录。
在 Github 上查找有关 Pyinotify 的更多信息:https://github.com/seb-m/pyinotify
目前为止就这样了!在本文中,我们向您展示了如何安装和使用 pyinotify,这是一个有用的 Python 模块,用于监视 Linux 中的文件系统更改。
您是否遇到过任何类似的 Python 模块或相关的 Linux 工具/实用程序?请在评论中告诉我们,也许您也可以提出与本文相关的任何问题。