我有一个简单的incron任务设置,可以在写入特定的.json文件时运行命令,然后关闭。
/var/www/html/api/private/resources/myfile.json IN_CLOSE_WRITE,IN NO LOOP /var/www/html/api/private/resources/run_service.sh
我可以看到,每当要写入的文件时,都会有一个事件的syslog条目,以及触发的命令 - 沿<date> - incrond: CMD (/var/www/html/api/private/resources/run_service.sh)
行。
但似乎没有任何事情发生......
最初我认为这可能是由脚本问题引起的,但是将脚本命令替换为简单的内容(例如echo "hello world" > /tmp/mylog.log
)仍然不会产生输出或结果。我似乎用这个打了一堵砖墙!
更新
将incron命令更改为读取"/bin/bash /var/www/html/api/private/resources/run_service.sh"
现在似乎正确地触发了脚本,因为我现在可以从脚本中获取输出。
答案 0 :(得分:0)
就我而言,一个简单的错误,尽管所有在线示例都显示使用脚本作为命令应该运行它,对我而言只有在我明确调用bash执行它时才有效
"<my directory/file to watch> <trigger condition> /bin/bash /var/www/html/api/private/resources/run_service.sh