分页: 1 / 1

我的 incrontab 任务只能执行一次

发表于 : 2016-01-08 12:18
laobubu
我安装了 incrontab 后,使用

代码: 全选

incrontab -e
编辑了任务如下(用户是 root)

代码: 全选

/home/another/test.txt IN_MODIFY,IN_ATTRIB,IN_CLOSE_WRITE /bin/sh /root/script/update_config.sh
以及 /root/script/update_config.sh 文件内容是

代码: 全选

#!/bin/sh
env node /root/script/update2.js
echo "Modified at " `date`
exit 0
然后测试发现,第一次修改 `/home/another/test.txt` 文件,脚本会被调用,但是第二次修改那个文件,脚本就不会跑了,需要重新启动 incrontab 。请问这是什么问题,如何解决?

Re: 我的 incrontab 任务只能执行一次

发表于 : 2016-01-08 14:17
vickycq
laobubu 写了:第一次修改 `/home/another/test.txt` 文件,脚本会被调用,但是第二次修改那个文件,脚本就不会跑了
你用什么工具修改 /home/another/test.txt?
部分程序对文件的修改不能正确触发 inotify 事件,如 vim gedit

用 nano 就没有此问题。打开修改多少次都可以。
Al Pacifico 写了: ...some programs (vim among them) cause inotify to generate IN_IGNORED because they delete the original file and replace it with a "swap" file.
参考
http://stackoverflow.com/questions/1340 ... dification
https://schettino72.wordpress.com/2010/ ... emacs-vim/
http://stackoverflow.com/questions/1676 ... le-ignored

Re: 我的 incrontab 任务只能执行一次

发表于 : 2016-01-10 15:08
laobubu
啊原来是 vim swap 文件的锅,好坑啊…

现在改成把文件丢到一个文件夹里,然后监视整个文件夹了。

谢谢