用pyinotify监控Linux文件系统
模块事件
过程
wm = pyinotify.WatchManager() 创建监控实例
wm.add_watch(path, pyinotify.ALL_EVENTS, res=True) # 添加监控的对象
notifier = pyinotify.Notifier(wm, ev) # 绑定一个事件
notifier.loop() # 运行监控
sys模块
sys.argv 位置参数
例子:监控linux下文件系统
代码如下:
#!/usr/bin/env python # _*_ coding:utf-8 _*_ __author__ = 'junxi' import os from pyinotify import WatchManager, Notifier, ProcessEvent, IN_DELETE, IN_CREATE, IN_MODIFY class EventHandler(ProcessEvent): """事件处理""" def process_IN_CREATE(self, event): print("Create file: % s" % os.path.join(event.path, event.name)) def process_IN_DELETE(self, event): print("Deletefile: % s" % os.path.join(event.path, event.name)) def process_IN_MODIFY(self, event): print("Modifyfile: % s" % os.path.join(event.path, event.name)) def FSMonitor(path): wm = WatchManager() mask = IN_DELETE | IN_CREATE | IN_MODIFY notifier = Notifier(wm, EventHandler()) wm.add_watch(path, mask, auto_add=True, rec=True) print('now starting monitor % s' % (path)) while True: try: notifier.process_events() if notifier.check_events(): notifier.read_events() except KeyboardInterrupt: notifier.stop() break if __name__ == "__main__": FSMonitor('/root')
查看结果:
相关推荐
honeyth 2020-09-13
mjshldcsd 2020-08-15
Ping 2020-08-15
Kakoola 2020-08-01
Yellowpython 2020-08-01
chenguangchun 2020-07-26
dailinqing 2020-07-18
xiaouncle 2020-07-05
delmarks 2020-06-28
MayerF 2020-06-14
MrHaoNan 2020-06-13
smalllove 2020-06-09
JayFighting 2020-06-08
xiaoge00 2020-06-07
haokele 2020-05-31
matthewhan 2020-05-25
Alanxz 2020-05-20
82550495 2020-05-19