我正在使用这段代码来检测文件/目录何时在文件夹中创建。当在指定的文件夹中创建新文件/目录时,它可以正常工作。但是,当将移到文件夹中时,它不会通知或记录文件/dirs。我怎么能察觉到呢?
#!/usr/bin/env python
# monitors both files and dirs
import os
import pyinotify
from datetime import datetime
timestamp = datetime.today()
wm = pyinotify.WatchManager()
mask = pyinotify.IN_CREATE
class PTmp(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
print "Created: %s " % os.path.join(event.path, event.name)
event_log = open('/home/saad/Code/test/event_log', 'a')
event_log.write(event.name + ' - ' + timestamp.strftime('%c') + '\n')
event_log.close()
notifier = pyinotify.Notifier(wm, PTmp())
wdd = wm.add_watch('/home/saad/Code/test/foo', mask, rec=True)
while True:
try:
notifier.process_events()
if notifier.check_events():
notifier.read_events()
except KeyboardInterrupt:
notifier.stop()
break发布于 2013-04-09 14:50:46
您可以观看IN_MOVED_TO事件:
mask = pyinotify.IN_CREATE | pyinotify.IN_MOVED_TO
class PTmp(pyinotify.ProcessEvent):
...
def process_IN_MOVED_TO(self, event):
print "Moved: %s " % os.path.join(event.path, event.name)
event_log = open('/home/saad/Code/test/event_log', 'a')
event_log.write(event.name + ' - ' + timestamp.strftime('%c') + '\n')
event_log.close()(没有测试,因为我现在没有可用的Linux盒)。
inotify事件的完整列表可在手册页或化脓性中使用。
发布于 2014-11-22 15:11:16
使用afick工具,对于linux,从CD驱动程序,这样afick就不会被触摸,它会通过电子邮件提醒您系统上的任何更改。如果它是一个you服务器,它非常建议您创建一个CD或DVD,并要求他们把它安装在您的服务器光盘驱动器。否则从外部使用,但我不知道这将如何实现。
http://archive09.linux.com/feature/113944
https://stackoverflow.com/questions/15905132
复制相似问题