【发布时间】:2011-12-19 15:02:25
【问题描述】:
有自定义 dropr 消息队列轮询器,我正在尝试通过 ubuntu 中的 /etc/init.d 启动。 所有 3 个脚本都是超级简单的一行代码,并且可以通过命令行完美运行,但由于某种原因,只有一个脚本在服务器启动时真正运行。都有 775 次烫发,效果很好:
sudo /etc/init.d/app-poller.sh
这是一个示例脚本(必须以 www-data 用户身份运行):
[/etc/init.d]$ cat /etc/init.d/app-poller.sh
#!/bin/sh
su - www-data -c "bash -c '/path/to/dropr-server/daemons/app-poller.php'"
我已经通过以下方式多次删除/重新输入了 inittab 条目:
updates-rc.d -f app-poller.sh remove
updates-rc.d app-poller.sh defaults
rcconf 脚本还说一切正常。 我已按照此处的所有说明进行操作:http://jonathonhill.net/2009-04-23/auto-start-a-shell-script-on-ubuntu-server/ 此处和此处:http://stringofthoughts.wordpress.com/2009/04/16/adding-removing-shell-scripts-ubuntu-810/
我已经在所有常见的嫌疑人(/var/log/messages、/var/log/daemons 等)中寻找输出......仍然没有任何线索。
非常想至少对失败的原因有所了解。任何人都知道我可以参考哪些日志文件来查看出了什么问题以及为什么?
【问题讨论】:
-
我尝试过的另外两件事(没有运气):1)更改了每个脚本的顺序(尝试了每个脚本的默认 [97,98 或 99])2)尝试更改脚本外壳从 "bash -c '/path/to/..." 到 sh 的绝对路径:"/bin/sh -c '/path/to/..."
标签: shell ubuntu init autostart