0

我有一个简单的 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"现在读取似乎可以正确触发脚本,因为我现在可以从脚本中获取输出。

4

1 回答 1

0

我犯了一个简单的错误,尽管所有在线示例都表明使用脚本作为命令应该运行它,但对我来说,它只有在我明确调用 bash 来执行它时才有效

"<my directory/file to watch> <trigger condition> /bin/bash /var/www/html/api/private/resources/run_service.sh
于 2017-05-10T10:54:35.183 回答