linux中的文件监控

linux中的文件监控,linux,shell,Linux,Shell,如何在Ubuntu16.04中构建一个工具,每5分钟(或指定时间)监控一个给定的文件夹/目录,并检查它是否包含任何文件(文件可以是任何格式)?为了完成这项任务,我需要学习哪些东西?我可以在python脚本的帮助下完成这项工作,还是需要学习shell脚本。尝试使用incron。Incron用于监视文件系统活动。它由一个守护进程和一个表操纵器组成。您可以使用与常规cron类似的方法。不同之处在于inotify cron处理文件系统事件,而不是使用python处理时间段。多次使用它来侦听大型目录树中的

如何在Ubuntu16.04中构建一个工具,每5分钟(或指定时间)监控一个给定的文件夹/目录,并检查它是否包含任何文件(文件可以是任何格式)?为了完成这项任务,我需要学习哪些东西?我可以在python脚本的帮助下完成这项工作,还是需要学习shell脚本。

尝试使用incron。Incron用于监视文件系统活动。它由一个守护进程和一个表操纵器组成。您可以使用与常规cron类似的方法。不同之处在于inotify cron处理文件系统事件,而不是使用python处理时间段。多次使用它来侦听大型目录树中的事件,其功能强大且简单:

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()

使用此代码段,您将获得在定义的
路径中发生的所有事件。要使用它们做更多的事情,请深入了解watchdog的内容。

@fechnert感谢您为我添加了关于watchdog的知识,但我想每10分钟监控一次文件夹是否包含任何文件。。有看门狗可以吗?或者您可以通过python为我提供其他方法。感谢在这种情况下,请尝试每5分钟通过inchron检查文件夹是否包含任何文件。你能分享一个学习inchrone的链接吗