CentOS:初始化腳本由於某些未知原因無法啟動
我正在執行 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
。