初始化源目录和目标目录。
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
,这可能会解决此问题。
答案 0 :(得分:0)
您可以使用Watchman代替;它作为持久服务运行,并会记住您错过的事件。
您可以通过多种不同的方式实现用例,但最简单的方法是设置触发器并让watchman在文件更改时直接运行脚本,或者使用pywatchman客户端绑定来持久化python脚本运行并订阅事件并采取您喜欢的任何操作。