CentOS:初始化脚本因某些未知原因无法启动

CentOS:初始化脚本因某些未知原因无法启动

我正在运行 CentOS 6.2 - 我刚刚将一些应用程序迁移到故障转移服务器,并将它们的初始化脚本复制到 /etc/init.d 中。

我已将它们设为可执行文件,使用 chkconfig -add 将它们添加到 chkconfig,设置它们的级别,确保它们位于 /etc/rc.d/ 中 - 确保我可以从 rc2.d 等执行它们。两个服务器上的权限相同。它们也按照与主服务器上相同的顺序运行

但重启后它们却无法启动。有什么想法吗?

违法者如下:

jetty           0:off   1:off   2:on    3:on    4:on    5:on    6:off
smart           0:off   1:off   2:on    3:on    4:on    5:on    6:off

/etc/init.d:
-rwxr-xr-x. 1 root root 14456 Mar 13 20:21 jetty
-rwxrwxrwx. 1 root root  5829 Mar 29 09:58 smart

/etc/rc.d/rc3.d
lrwxrwxrwx. 1 root root 15 Mar 29 19:21 S99jetty -> ../init.d/jetty
lrwxrwxrwx. 1 root root 11 Mar 26 17:12 S99local -> ../rc.local
lrwxrwxrwx. 1 root root 15 Mar 29 19:21 S99smart -> ../init.d/smart

我检查过了,我处于运行级别 3。我检查了它们的日志,没有迹象表明它们已经启动。我可以轻松手动启动它们 - 其他服务也正常启动。

我真的完全没有主意了。

答案1

我想我可能已经解决了。

由于某种原因,init 脚本没有被复制到 /etc/rc.d/init.d !我已经在那里创建了符号链接,现在 chkconfig 正在拾取它们,并且它们中的大多数现在都在启动时启动。

答案2

CentOS 6.5我是和的用户Jetty 9.1.0.v20131115。我遇到了您描述的相同症状。

我能够通过jetty.sh分别更新/etc/init.d/jetty、分别解决我的问题/etc/rc.d/init.d/jetty

在此脚本中,在定义中NAME,更改+*,即更改
NAME=$(echo $(basename $0) | sed -e 's/^[SK][0-9]+//' -e 's/\.sh$//')

NAME=$(echo $(basename $0) | sed -e 's/^[SK][0-9]*//' -e 's/\.sh$//')

jetty.sh脚本曾经有一个chkconfig相关的错误。此错误已在提交中修复

背景:在有缺陷的版本中,NAME环境变量被设置为jetty9999来自chkconfig配置.
该脚本通常被命名jetty,因此有缺陷的版本将寻找名为/etc/default/jetty99而不是正确的配置文件/etc/default/jetty

答案3

您可以使用命令检查状态ntsysv吗?请确保选择了所需的守护进程。

守护进程是否正确启动/sbin/service daemonname start

相关内容