在/etc/monit.d/中读取shell脚本时出现Monit语法错误

时间:2017-10-26 18:53:51

标签: bash shell monit

尝试通过shell脚本运行PHP脚本并不断收到语法错误'从Monit读取shell脚本时。

launchQueue.sh

#!/bin/sh
php /var/app/current/hello.php

shell脚本将在其上运行,并且我已经打开了所有权限。 Monit从它自己的目录/etc/monit.d/*中调用它 - 当monit启动时,它应该运行其中的所有文件。

确切的错误读取:" /etc/monit.d/launchQueue.sh:2:错误:语法错误' php'"

  • 我已将其移出monit.d,如this post所示,但我得到同样的错误。

运行Monit版本5.2.5

2 个答案:

答案 0 :(得分:1)

Monit拥有自己的 PATH ,它非常小 PATH 。您应该提供 php 可执行文件的完整路径,或者在脚本中重新定义PATH。

尝试(根据您的位置调整)

#!/bin/sh /usr/bin/php /var/app/current/hello.php

答案 1 :(得分:0)

我弄清楚问题是什么,这主要是由于我自己对使用终端的无知(我很新)。我安装了SupervisorD并遇到了类似的问题。原来我的root $ PATH没有包含普通用户(?)$ PATH。一旦我将PATH导出到root,它就运行得很好。