반응형

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다) Notion 가입 Link

"재부팅이 되고 특정 프로세스가 자동으로 시작되면 좋겠다" 라는 생각을 기본적으로 많이들 하실거라고 생각합니다. QNAP에서도 autorun.sh를 기본적으로 사용할 수 있지만, 일부 명령어들은 QPKG실행 디펜던시 때문인지는 몰라도 실행이... 안되는 현상을 보이고있었습니다. 그래서 사용가능한 또다른 방법으로 Autorun QPKG를 만들어 APP중의 하나로 제일 마지막에 실행 하도록 하는 방법입니다.

필요사항

  • SSH

설정방법

기본적으로 ssh를 통한 접근을 다 하신다는 가정하에 다음과 같은 스크립트를 특정 폴더에 넣어 줍니다.여기서 실행/멈추고 싶은 명령어들을 변경하여 기입해 주시면됩니다.

#!/bin/sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="MyAutorun"

case "$1" in
  start)
        ENABLED=$(/sbin/getcfg $QPKG_NAME Enable -u -d FALSE -f $CONF)
        if [ "$ENABLED" != "TRUE" ]; then
                /bin/echo "$QPKG_NAME is disabled."
                exit 1
        fi
	# 실행하고자 하는 명령어 
        cd /share/my/HA/sds_wallpad/sds_wallpad
        ./run_standalone.sh &

        ;;

  stop)
	# 실행하였던 명령어
        PID=`ps -eaf | grep run_standalone.sh | grep -v grep | awk '{print $1}'`
        if [[ "" !=  "$PID" ]]; then
           echo "killing $PID"
           kill -9 $PID
        fi
        PID=`ps -eaf | grep sds_wallpad.py | grep -v grep | awk '{print $1}'`
        if [[ "" !=  "$PID" ]]; then
           echo "killing $PID"
           kill -9 $PID
        fi
        ;;

  restart)
        $0 stop
        $0 start
        ;;

  *)
        /bin/echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac

exit 0

이렇게 생성된 스크립트에는 실행 권한을 주시고

chmod +x myautorun.sh

"/etc/config/qpkg.conf" 파일의 제일 마지막 줄에 다음과 같은 구문을 추가해 주시면됩니다. 여기서 젤 중요한 부분은 Shell 부분에 위에서 작성한 스크립트 경로를 넣어주시면 됩니다.

/etc/config/qpkg.conf 젤 마지막에 다음 추가

[MyAutorun]
Status = complete
Name = MyAutorun
Version = 1.0.0
Author = moggging
QPKG_File = None
Date = 2020-11-26
Shell = /share/my/myautorun/myautorun.sh
Install_Path = /share/my/myautorun
RC_Number = 101
WebUI = null
Display_Name = MyAutorun
Enable = TRUE

위와같이 수정후 재부팅 진행하면 다음과 같이 App center에서 MyAutorun QPKG가 생성되어 실행 및 정지 가능합니다. 맨뒤에 두었으므로 부팅 순서도 젤 뒤가되어 디펜던시 문제도 없을 것이라 생각됩니다.

반응형

+ Recent posts