在linux中监视文件
问题描述:
如何在Ubuntu 16.04中构建一个工具,该工具可以每隔5分钟(或指定时间)监视给定的文件夹/目录,并且可以检查它是否包含任何文件(文件可以是任何格式) ?为完成这项任务我需要学习什么?我可以在python脚本的帮助下做到这一点,或者我需要学习shell脚本。在linux中监视文件
答
尝试使用incron。 Incron用于监视文件系统活动。它由一个守护进程和一个表操作器组成。你可以像使用普通的cron一样使用它。不同的是,inotify cron处理文件系统事件而不是时间段
答
与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。
是否可以通过inchron每隔5分钟检查文件夹是否包含任何文件。你可以分享一个链接来学习inchrone – Blasteraj
https://www.howtoforge.com/tutorial/how-to-run-commands-on-file-or-directory-changes-with-incron-on-ubuntu-16-04/ – Rups