无法让cronjob获得服务的状态

当系统重启时,我使用Upstart来运行一些服务。 这些服务应该始终运行。 我已经注意到,最后有一些崩溃,所以我试图(没有成功)创build一个看门狗脚本。

该脚本将检查服务的状态。 如果服务停止,那么它应该启动服务,并向我发送有关该问题的电子邮件。 电子邮件脚本是在PHP和没关系。

看门狗bash脚本的问题是我只是能够执行脚本并读取服务的状态,如果我手动启动脚本。当使用cronjob执行脚本时,我得到一个“空状态”输出。

我会告诉你脚本:

#!/bin/bash # Check the service status=$(status SERVICE | awk '{print $2}') echo "Status of the SERVICE: $status" 

当我手动执行它时,我得到:

 Status of the SERVICE: stop/waiting 

如果用cronjob执行它,我会得到:

 Status of the SERVICE: 

正如你所看到的,当用cronjob执行脚本时,我没有得到任何输出。 总之,cronjob正在运行,但没有提供我的服务状态。

希望你的X-vision能看到我无法做到的错误。

BR,

albertof

差别通常是环境变量。 可能路径。 跑

 which status 

要显示正在运行的可执行文件,然后将完整路径放入cron调用中。