OpenSuse 11에서 부팅 시 자동으로 스크립트 시작

OpenSuse 11에서 부팅 시 자동으로 스크립트 시작

OpenSuSe 11이 시작되면 다음 샘플 스크립트를 실행해야 합니다.

#!/bin/sh
i=0;
while true; do
    "SOME COMMAND FOR SAVING i TO ANOTHER PLACE" &> /dev/null
    i=$((i+1))
    sleep 1
done

따라서 기본적으로 매초마다 변수를 1씩 증가시키고 해당 변수를 다른 시스템으로 보냅니다. 이 스크립트를 /bin/user/script.sh에 저장합니다.

콘솔에서 스크립트를 실행하면 정상적으로 작동합니다.

/bin/user/script.sh > /dev/null 2>&1 &

먼저 OpenSuSe와 함께 제공되는 기존 /etc/init.d/boot.local에 이 줄을 추가했지만 제대로 작동하지 않았습니다. 시작될 때도 있고 그렇지 않을 때도 있습니다. 사용자 권한 때문인 줄 알았는데 그 후에도

chmod 755 script.sh

문제는 여전히 존재합니다. 그런 다음 내 자신의 /etc/init.d/myscript를 만들었습니다.

/etc/init.d/myscript의 내용:

#! /bin/sh
#
# /etc/init.d/myscript
#
### BEGIN INIT INFO
# Provides:          myscript
# Required-Start:
# Required-Stop:
# Default-Start:     3 5
# Default-Stop:      0
# Short-Description: Start myscript while booting
# Description:       ...
### END INIT INFO
#
#
#
case "$1" in
    start)
        echo "Starting myscript."
        /bin/user/script.sh > /dev/null 2>&1 &
        ;;
    stop)
        echo "Stopping myscript."
        killall -9 script.sh
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac

그런 다음 스크립트에 대해 insserv 명령을 실행했습니다.

insserv myscript

콘솔에서 시작 및 중지가 가능합니다.

/etc/init.d/myscript start
/etc/init.d/myscript stop

그러나 myscript를 다시 시작한 후에는 생명의 흔적이 보이지 않습니다.

내가 뭘 잘못했나요? 시스템이 시작될 때마다 스크립트를 성공적으로 실행하려면 어떻게 해야 합니까?

2015.11.12 업데이트: 이 스크립트는 OpenSuSe 11에서 실행될 때 정상적으로 작동하고 정상적으로 시작됩니다.

답변1

insserv가 유효한지 확인하셨나요?

실행하면 chkconfig --list | grep myscript출력이 나오나요?

관련 정보