線上書籍

Home

網管技術

https://www.tecmint.com/pyinotify-monitor-filesystem-directory-changes-in-linux/
(以下使用 google 翻譯)

  yinotify是一個簡單而有用的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.org下載的Python 2> = 2.7.9或Python 3> = 3.4的二進製文件,則已經安裝了Pip,否則,請按照以下方式進行安裝:

# 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登錄)監視用戶tecmint的home(/ home / tecmint)目錄的任何更改,如屏幕截圖所示:

# python -m pyinotify -v /home/tecmint

接下來,我們將保持對Web目錄(/var/www/html/tecmint.com)的任何更改的監視:

# python -m pyinotify -v /var/www/html/tecmint.com

要退出程序,只需點擊[Ctrl + C]。

注意:當您運行pyinotify而沒有指定任何要監視的目錄時,默認情況下會考慮/ tmp目錄。

在Github上查找關於Pyinotify的更多信息:https://github.com/seb-m/pyinotify

目前為止就這樣了! 在本文中,我們向您展示瞭如何安裝和使用pyinotify,這是一個有用的Python模塊,用於監視Linux中的文件系統更改。

你有沒有遇到過類似的Python模塊或相關的Linux工具/實用程序? 讓我們知道在評論中,也許你可以問任何關於這篇文章的問題。