Linux中國

pyinotify:在 Linux 中實時監控文件系統更改

建議閱讀: fswatch - 監控 Linux 中的文件和目錄更改或修改

它依賴於 inotify(在內核 2.6.13 中納入的 Linux 內核功能),它是一個事件驅動的通知程序,其通知通過三個系統調用從內核空間導出到用戶空間。

pyinotiy 的目的是綁定這三個系統調用,並在其上提供了一個通用和抽象的方法來操作這些功能。

在本文中,我們將向你展示如何在 Linux 中安裝並使用 pyinotify 來實時監控文件系統更改或修改。

依賴

要使用 pyinotify,你的系統必須運行:

  1. Linux kernel 2.6.13 或更高
  2. 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

它會從默認倉庫安裝可用的版本,如果你想要最新的穩定版,可以按如下從 git 倉庫 clone 下來:

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

如何在 Linux 中使用 pyinotify

在下面的例子中,我以 root 用戶(通過 ssh 登錄)監視了用戶 tecmint 的家目錄(/home/tecmint)下的改變,如截圖所示:

# python -m pyinotify -v /home/tecmint

Monitor Directory Changes

監視目錄更改

接下來,我會觀察到任何 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,一個在 Linux 中監控文件系統更改的有用的 Python 模塊。

你有遇到類似的 Python 模塊或者相關的 Linux 工具/小程序么?請在評論中讓我們了解,或許你也可以詢問與這篇文章相關的問題。

作者簡介:

Aaron Kili 是 Linux 和 F.O.S.S 愛好者,將來的 Linux 系統管理員和網路開發人員,目前是 TecMint 的內容創作者,他喜歡用電腦工作,並堅信分享知識。

via: http://www.tecmint.com/pyinotify-monitor-filesystem-directory-changes-in-linux/

作者:Aaron Kili 譯者:geekpi 校對:jasminepeng

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國