【问题标题】:Queuing events with inotifywait使用 inotifywait 排队事件
【发布时间】:2015-02-26 03:33:46
【问题描述】:

初始化源目录和目标目录。

srcdir=/user/user1/src
tagtdir=/user/user1/dest

我希望在将文件复制到 srcdir 和 -m 以进行持续监控时收到通知。

inotifywait -m -r -e close "$srcdir" | 

while read filename eventlist eventfile 

调用我的 python 脚本。

do 
    mv "$srcdir/$eventfile" "$tgtdir/$eventfile" && ./myscript.py "$eventfile" 
done 

不幸的是,我的脚本很长一段时间,如果在执行myscript.py 时还有其他文件被复制,我会错过这些事件。是否可以将事件排队并稍后处理?

另一个选项是我将在后台运行myscript.py,这可能会解决这个问题。

【问题讨论】:

    标签: inotify inotifywait inotify-tools


    【解决方案1】:

    您可以改用Watchman;它作为持久服务运行,并会记住您错过的事件。

    您可以通过多种不同的方式来实现您的用例,但最简单的方法可能是设置触发器并让 watchman 在文件更改时直接运行您的脚本,或者使用 pywatchman 客户端绑定来持久化python 脚本运行并订阅事件并采取您想要的任何操作。

    【讨论】:

      猜你喜欢
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 2023-03-30
      • 1970-01-01
      • 2016-04-26
      • 2021-08-24
      相关资源
      最近更新 更多