首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用inotifywait排队事件

使用inotifywait排队事件
EN

Stack Overflow用户
提问于 2015-02-26 03:33:46
回答 1查看 426关注 0票数 0

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

代码语言:javascript
复制
srcdir=/user/user1/src
tagtdir=/user/user1/dest

当文件被复制到srcdir和-m以进行持续监视时,我希望得到通知。

代码语言:javascript
复制
inotifywait -m -r -e close "$srcdir" | 

while read filename eventlist eventfile 

调用我的python脚本。

代码语言:javascript
复制
do 
    mv "$srcdir/$eventfile" "$tgtdir/$eventfile" && ./myscript.py "$eventfile" 
done 

不幸的是,我的脚本有相当长的时间,如果在执行myscript.py时还有其他文件被复制,那么我就错过了这些事件。是否可以将事件排队,并在以后处理它们?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-26 22:47:21

您可以使用守望者;它作为一个持久服务运行,并将记住您错过的事件。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28733996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档