初始化源目录和目标目录。
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,这可能解决这个问题。
发布于 2015-02-26 22:47:21
您可以使用守望者;它作为一个持久服务运行,并将记住您错过的事件。
您可以通过多种不同的方式实现用例,但最简单的方法可能是设置触发器,让看守人员在文件更改时直接运行脚本,或者使用pywatchman客户端绑定来运行持久的python脚本,并订阅事件,并采取任何您想要的操作。
https://stackoverflow.com/questions/28733996
复制相似问题