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...