起動スクリプトの問題

起動スクリプトの問題

私は、起動時にユーザー 'chandler' で Debian ボックス上で Chandler を実行しようとしており、init.d にある次のスクリプトを試しました。

#! /bin/sh
#
# /etc/init.d/chandler
#

RETVAL=$?
CHANDLER_HOME="/chandler"

# check input
case "$1" in
  start)
    if [ -f $CHANDLER_HOME/bin/osafsrvctl ];
      then
        /bin/su chandler $CHANDLER_HOME/bin/osafsrvctl start
    fi
    ;;
  stop)
    if [ -f $CHANDLER_HOME/bin/osafsrvctl ];
      then
        /bin/su chandler $CHANDLER_HOME/bin/osafsrvctl stop
    fi
    ;;
  *)
    echo "Usage: /etc/init.d/osafsrvctl {start|stop}"
    exit 1
    ;;
esac

exit $RETVAL

次に私は実行しました:

update-rc.d chandler defaults

init.d の起動スクリプトに 755 の権限があることを確認しましたが、うまくいきませんでした。

ここで何か明らかなことを見逃しているのでしょうか?

何かアドバイスがあればよろしくお願いします。

更新: 以下の提案に従って、スクリプトに追加した init ヘッダーは次のとおりです。

### BEGIN INIT INFO
# Provides:          chandler
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop chandler server
### END INIT INFO

答え1

の他のスクリプトを見る/etc/init.dと、次の例に似た LSB ヘッダー コメント ブロックが見つかるはずですfetchmail

### BEGIN INIT INFO
# Provides:          fetchmail
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      1
# Short-Description: init-Script for system wide fetchmail daemon
### END INIT INFO

このタイプのブロックは必須です。

からman update-rc.d

update-rc.d には、ブート シーケンスにスクリプトをインストールするための 2 つの操作モードがあります。コマンド ライン引数を使用してシーケンスとランレベル設定を決定するレガシー モードと、代わりに init.d スクリプトの LSB コメント ヘッダー内の依存関係とランレベル情報を使用するデフォルト モードです。このヘッダーは init.d スクリプトに存在する必要があります。LSB ヘッダー形式の詳細については、insserv(8) マニュアル ページを参照してください。

関連情報