如何在Ubuntu 16.04中构建一个工具,可以每5分钟(或指定的时间)监视一个给定的文件夹/目录,并检查它是否包含任何文件(文件可以是任何格式)?做这项任务我需要学习什么?我可以在python脚本的帮助下完成这项工作,还是我需要学习shell脚本。
答案 0 :(得分:1)
尝试使用incron。 Incron用于监视文件系统活动。它由一个守护进程和一个表操纵器组成。您可以使用与常规cron类似的方式。区别在于inotify cron处理文件系统事件而不是时间段
答案 1 :(得分:1)
使用python我会尝试使用watchdog。多次使用它来监听大型目录树中的事件,它非常简单:
import time
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler
if __name__ == "__main__":
path = '.'
event_handler = LoggingEventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
使用此代码段,您将获得在定义的path
内发生的所有事件。要与他们做更多的事情,请深入了解documentation看门狗。