【发布时间】:2014-04-28 02:23:58
【问题描述】:
我有一些我一直使用并且工作正常的 cronjobs。但是现在,尝试将所有内容移动到 Docker 容器中,我遇到了这些错误:
/usr/bin/service: 127: /usr/bin/service: stop: not found
/usr/bin/service: 128: exec: start: not found
它们发生在执行诸如 "service restart nginx" 这些 cronjobs 之类的事情时。请注意,相同的命令在 cronjobs 之外也能正常工作。
PATH 在/etc/crontab 中正确设置。将其添加到 /etc/cron.d 中的单个 cronfile 也不起作用。我还尝试在/etc/crontab 中将SHELL=/bin/sh 更改为SHELL=/bin/bash(尽管它不安全,但想尝试),但没有奏效。
有什么想法吗?
【问题讨论】:
-
@sirvon 这并没有真正谈论我的问题,它只是说如何安装和执行 cron。我的 crons 正在运行,但在调用“服务 xxx 重启”或“服务 xxx 状态”时会抛出错误。
-
可能在您的容器中,正确的初始化机制没有像 .. /sbin/init 或 upstart 等那样处于活动状态......
-
@sirvon 我忘了说它在 cronjobs 之外也能正常工作。
标签: linux shell cron sh docker