pyinotify:在Linux中實(shí)時(shí)監(jiān)控文件系統(tǒng)更改
Pyinotify 是一個(gè)簡(jiǎn)單而有用的 Python 模塊,它可用于在 Linux 中實(shí)時(shí)監(jiān)控文件系統(tǒng)更改。
作為一名系統(tǒng)管理員,你可以用它來(lái)監(jiān)視你感興趣的目錄的更改,如 Web 目錄或程序數(shù)據(jù)存儲(chǔ)目錄及其他目錄。
它依賴(lài)于 inotify(在內(nèi)核 2.6.13 中納入的 Linux 內(nèi)核功能),它是一個(gè)事件驅(qū)動(dòng)的通知程序,其通知通過(guò)三個(gè)系統(tǒng)調(diào)用從內(nèi)核空間導(dǎo)出到用戶(hù)空間。
pyinotiy 的目的是綁定這三個(gè)系統(tǒng)調(diào)用,并在其上提供了一個(gè)通用和抽象的方法來(lái)操作這些功能。
在本文中,我們將向你展示如何在 Linux 中安裝并使用 pyinotify 來(lái)實(shí)時(shí)監(jiān)控文件系統(tǒng)更改或修改。
依賴(lài)
要使用 pyinotify,你的系統(tǒng)必須運(yùn)行:
- Linux kernel 2.6.13 或更高
- Python 2.4 或更高
如何在 Linux 中安裝 Pyinotify
首先在系統(tǒng)中檢查內(nèi)核和 Python 的版本:
- # uname -r
- # python -V
一旦依賴(lài)滿(mǎn)足,我們會(huì)使用 pip 安裝 pynotify。在大多數(shù) Linux 發(fā)行版中,如果你使用的是從 python.org 下載的 Python 2 (>= 2.7.9) 或者 Python 3( >=3.4) 的二進(jìn)制,那么 pip 就已經(jīng)安裝了,否則,就按如下安裝:
- # yum install python-pip [On CentOS based Distros]
- # apt-get install python-pip [On Debian based Distros]
- # dnf install python-pip [On Fedora 22+]
現(xiàn)在安裝 pyinotify:
- # pip install pyinotify
它會(huì)從默認(rèn)倉(cāng)庫(kù)安裝可用的版本,如果你想要***的穩(wěn)定版,可以按如下從 git 倉(cāng)庫(kù) clone 下來(lái):
- # git clone https://github.com/seb-m/pyinotify.git
- # cd pyinotify/
- # ls
- # python setup.py install
如何在 Linux 中使用 pyinotify
在下面的例子中,我以 root 用戶(hù)(通過(guò) ssh 登錄)監(jiān)視了用戶(hù) tecmint 的家目錄(/home/tecmint)下的改變,如截圖所示:
- # python -m pyinotify -v /home/tecmint

監(jiān)視目錄更改
接下來(lái),我會(huì)觀(guān)察到任何 web 目錄 (/var/www/html/tecmint.com) 的更改:
- # python -m pyinotify -v /var/www/html/tecmint.com
要退出程序,只要按下 Ctrl+C。
注意:當(dāng)你在運(yùn)行 pyinotify 時(shí)如果沒(méi)有指定要監(jiān)視的目錄,/tmp 將作為默認(rèn)目錄。
可以在 Github 上了解更多 Pyinotify 信息:https://github.com/seb-m/pyinotify。
就是這樣了!在本文中,我們向你展示了如何安裝及使用 pyinotify,一個(gè)在 Linux 中監(jiān)控文件系統(tǒng)更改的有用的 Python 模塊。
你有遇到類(lèi)似的 Python 模塊或者相關(guān)的 Linux 工具/小程序么?請(qǐng)?jiān)谠u(píng)論中讓我們了解,或許你也可以詢(xún)問(wèn)與這篇文章相關(guān)的問(wèn)題。
作者簡(jiǎn)介:
Aaron Kili 是 Linux 和 F.O.S.S 愛(ài)好者,將來(lái)的 Linux 系統(tǒng)管理員和網(wǎng)絡(luò)開(kāi)發(fā)人員,目前是 TecMint 的內(nèi)容創(chuàng)作者,他喜歡用電腦工作,并堅(jiān)信分享知識(shí)。