Centos

CentOS:初始化腳本由於某些未知原因無法啟動

  • January 10, 2014

我正在執行 CentOS 6.2 - 我剛剛將一些應用程序遷移到故障轉移伺服器,並將它們的初始化腳本複製到 /etc/init.d。

我已經使它們可執行,將它們添加到 chkconfig,使用 chkconfig -add,設置它們的級別,確保它們位於 /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。我檢查了他們的日誌,沒有跡象表明他們已經啟動。我可以輕鬆地手動啟動它們 - 其他服務正常啟動。

我真的完全沒有想法。

我想我可能已經解決了。

由於某種原因,初始化腳本沒有被複製到 /etc/rc.d/init.d !我已經在那裡創建了符號連結,現在 chkconfig 正在接收它們,並且它們中的大多數現在都在啟動時開始了..

我是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環境變數被設置為jetty99, 99來自chkconfig配置

該腳本通常被命名jetty,因此有缺陷的版本將尋找一個名為/etc/default/jetty99而不是正確的配置文件/etc/default/jetty

引用自:https://serverfault.com/questions/374699