시작 스크립트 문제

시작 스크립트 문제

시작 시 사용자 'chandler' 아래의 데비안 상자에서 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에는 부팅 순서에 스크립트를 설치하기 위한 두 가지 작동 모드가 있습니다. 명령줄 인수를 사용하여 시퀀스 및 런레벨 구성을 결정하는 레거시 모드와 init.d 스크립트 LSB 주석 헤더의 종속성 및 런레벨 정보가 대신 사용되는 기본 모드입니다. 이러한 헤더는 init.d 스크립트에 있어야 합니다. LSB 헤더 형식에 대한 자세한 내용은 insserv(8) 매뉴얼 페이지를 참조하십시오.

관련 정보