使用pyinotify監控檔案系統變化

2021-09-27 03:13:54 字數 1327 閱讀 8630

import pyinotify

wm = pyinotify.watchmanager(

)#建立乙個wachmanager物件

mask = pyinotify.in_create | pyinotify.in_delete #建立要監控的事件,這裡是監控建立檔案與刪除檔案事件

wm.add_watch(

'要監控的檔案路徑',mask)

notifier = pyinotify.notifier(wm)

#建立乙個notifile物件,並將watchmanager物件作為引數傳遞給notifile物件

notifier.loop(

)#呼叫notifile.loop迴圈處理事件

常見的pyinotify提供的事件

事件標誌

事件含義

in_access

被監控目錄有條目被訪問

in_open

檔案或目錄被開啟

in_delete

有目錄或檔案被刪除

in_create

有檔案或目錄被建立

all_events

監控所有事件

在實際生產環境中,需要制定事件的處理方式來事件特殊的功能,制定特殊的處理方式的方法為:繼承processevent類,如:

import pyinotify

wm = pyinotify.watchmanager(

)

mask = pyinotify.in_create | pyinotify.in_delete

class

eventhandle

(pyinotify.processevent)

:#建立乙個類

defprocess_in_create

(self,event)

:print

("creating: "

,event.pathname)

defprocess_in_delete

(self,event)

:print

("removing: "

,event.pathname)

handle = eventhandle(

)#例項化

wm.add_watch(

'要監控的檔案路徑',mask)

notifier = pyinotify.notifier(wm,handle)

notifier.loop(

)

pyinotify 監控檔案變化

import pyinotify test.txt 是要監控的檔案 f name test.txt 初始化,指向檔案末尾 pos f.seek 0,2 def read line global pos global f try f.seek pos,0 line f.readline pos len...

如何使用Shell進行檔案監控?

檔案監控可以配合rsync實現檔案自動同步,例如監聽某個目錄,當檔案變化時,使用rsync命令將變化的檔案同步。可用於 自動發布 inotify 是linux核心的乙個特性,在核心 2.6.13 以上都可以使用。如果在shell環境下,可以安裝 yum install inotify tools,安...

Linux檔案監控

如果要讓伺服器保持最佳效能,你應該將 linux 伺服器的執行級別 runlevel 設定為 3 就是控制台模式,當你需要圖形化桌面的時候使用 startx 命令來啟動它。修改配置 etc inittab 找到 initdefault 一樣,將id 5 initdefault修改為 id 3 ini...