我正在运行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到服务器时不在我的环境中?
答案 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作业运行的环境中由于某种原因而无法正常工作,但我不确定如何进一步探索。