web-dev-qa-db-ja.com

CentOS:不明な理由で初期化スクリプトを開始できない

CentOS 6.2を実行しています-いくつかのアプリケーションをフェイルオーバーサーバーに移行し、それらのinitスクリプトを/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です。ログを確認しましたが、開始されたという兆候はありません。手動で簡単に起動できます。他のサービスは正常に起動しています。

私は本当に完全にアイデアがありません。

3
user705142

私はそれを解決したかもしれないと思います。

何らかの理由で、initスクリプトが/etc/rc.d/init.dにコピーされていませんでした!そこでシンボリックリンクを作成しましたが、chkconfigがシンボリックリンクを取得しており、ほとんどのシンボリックリンクが起動時に開始されています。

1
user705142

私は_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_に設定されます。 99chkconfig構成
スクリプトの名前は通常jettyであるため、バグのあるバージョンでは、正しい_/etc/default/jetty99_ではなく_/etc/default/jetty_という名前の構成ファイルが検索されます。

1
Abdull

ntsysvコマンドを使用してステータスを確認できますか?必要なデーモンが選択されていることを確認してください。

デーモンは/sbin/service daemonname startで正しく起動しますか?

0
ewwhite