来自 incron 的脚本问题 运行 bash

Problems running bash script from incron

我有一个简单的 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

我可以看到,每当要写入的文件时,都会有一个事件的系统日志条目,以及触发的命令 - 按照 <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" 现在似乎可以正确触发脚本,因为我现在可以从脚本中获取输出。

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

"<my directory/file to watch> <trigger condition> /bin/bash /var/www/html/api/private/resources/run_service.sh