无法从cron作业查询upstart服务状态

时间:2014-11-10 22:25:39

标签: ubuntu cron upstart

我正在运行Ubuntu 14,我将以下行添加到我的crontab:

*/1 * * * * : testing; /usr/sbin/service my-service status > ~/status 2>&1

在下一分钟到来之后,我在〜/ status:

中看到了这一点
my-service: unrecognized service

如果我从终端运行它,它确实识别该服务:

~$ /usr/sbin/service my-service status
my-service stop/waiting

我想知道什么可能导致我的服务在cron作业的环境中无法识别,但在我ssh到服务器时不在我的环境中?

1 个答案:

答案 0 :(得分:6)

我发现这有效:

*/1 * * * * : testing; /sbin/initctl status my-service > ~/status 2>&1

/usr/sbin/service适用于SystemV作业(例如/etc/init.d中的作业),在Ubuntu下它也可以看到Upstart作业(例如/ etc / init中的作业)。 /sbin/initctl直接与Upstart作业配合使用。所以我的猜测是,允许/usr/sbin/service查看Upstart作业的机制在我的cron作业运行的环境中由于某种原因而无法正常工作,但我不确定如何进一步探索。