λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

λͺ©λ‘μ΄ μ—†μŠ΅λ‹ˆλ‹€.

[Ubuntu] μ‹œμž‘ 슀크립트(init script) μž‘μ„± 및 λ“±λ‘ν•˜κΈ°

πŸ—£ Language/shell

    μ„œλ²„λ₯Ό μ…‹νŒ…ν•˜κ³  μš΄μ˜ν•˜λ‹€λ³΄λ©΄ 가끔 μ„œλ²„κ°€ λ‹€μš΄λ˜λŠ”(λ»—λŠ”?) ν˜„μƒμ΄ μžˆλ‹€. 이런 경우 μž¬λΆ€νŒ…μ„ ν†΅ν•΄μ„œ μ„œλ²„λ₯Ό λ‹€μ‹œ μ‚΄λ €μ£Όμ–΄μ•Όν•˜λŠ”λ° μž¬λΆ€νŒ…μ€ ν–ˆλŠ”λ° μ›Ήμ„œλ²„(λ˜λŠ” λ‹€λ₯Έ λͺ©μ μ˜ μ„œλ²„)κ°€ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€. 처음 μ…‹νŒ…ν•  λ•Œ μž‘μ—…λ“€ 쀑에 ν•΄μ£Όμ–΄μ•Όν•  λͺ‡λͺ‡ μž‘μ—…λ“€μ΄ μžˆλŠ”λ° μ΄λŸ°κ²ƒλ“€μ„ μž¬λΆ€νŒ… μ‹œ μ•Œμ•„μ„œ 되게 μ²˜μŒμ— ν•΄λ†“μœΌλ©΄ μ•ˆκ·Έλž˜λ„ λ‹Ήν™©μŠ€λŸ¬μš΄ μ„œλ²„μ˜ νŒŒμ—…μ„ μ–Έμ— μ‘°κΈˆμ΄λ‚˜λ§ˆ μΉ¨μ°©ν•˜κ²Œ λŒ€μ‘ν•  수 μžˆμ„ 것이닀.

     

    1. μ‰˜ 슀크립트 μž‘μ„±
    2. μ‰˜μŠ€ν¬λ¦½νŠΈ μ‹€ν–‰κΆŒν•œ μ„€μ •
    3. μ‹œμž‘μŠ€ν¬λ¦½νŠΈ 등둝

    1. μ‰˜ 슀크립트 μž‘μ„±

    μš°μ„  λ™μž‘ν•  μ‰˜ 슀크립트λ₯Ό μž‘μ„±ν•΄μ€€λ‹€.

    # vi /etc/init.d/슀크립트파일λͺ…
    vi /etc/init.d/startup.sh
    #!/bin/bash
    
    ### BEGIN INIT INFO
    # Provides:             startup.sh
    # Required-Start:       $reboot
    # Required-Stop:        $reboot
    # Default-Start:        2 3 4 5
    # Default-Stop:         0 1 6
    # Short-Description:    Server init script
    ### END INIT INFO
    
    case "$1" in
      start)
      mount /dev/xvdb /target
    
      # Tomcat start (Web)
      sudo -u apptm /was/apache-tomcat-9.0.46/bin/startup.sh
      
      # Tomcat start logging
      sudo -u apptm echo $(date) Tomcat init started. >> /was/tomcat_init_started.log
      
      # TODO Something..
      
      ;;
      *)
      echo "Usage: $0 (start)"
      ;;
    esac
    
    exit 0

    * μ–Έμ œ μ‹œμž‘λ˜μ—ˆλŠ”μ§€ 남기기 μœ„ν•΄μ„œ λ‘œκΉ…

    * 기본적으둜 rootκΆŒν•œμœΌλ‘œ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ— sudo -u apptm으둜 해주지 μ•ŠμœΌλ©΄ tomcat을 κ°œλ°œκ³„μ •μ΄ μ•„λ‹Œ root κ³„μ •μœΌλ‘œ startup ν•˜κ²Œ λœλ‹€. 이럴 경우 μ²˜μŒλΆ€ν„° rootκΆŒν•œμœΌλ‘œ startup ν•΄μ£Όμ—ˆλ‹€λ©΄ λ¬Έμ œκ°€ μ—†κ² μ§€λ§Œ.. μ²˜μŒμ—λŠ” κ°œλ°œκ³„μ •μœΌλ‘œ ν–ˆμ—ˆλ‹€λ©΄ tomcat λ‚΄λΆ€ 파일 및 둜그 파일이 root계정 μ†Œμœ λ‘œ λ³€ν•  수 μžˆμœΌλ―€λ‘œ μ£Όμ˜ν•˜μž.

     

    2. μ‰˜ 슀크립트 μ‹€ν–‰κΆŒν•œ μ„€μ •

    μ‹€ν–‰κΆŒν•œμ΄ μžˆμ–΄μ•Ό μž¬λΆ€νŒ… μ‹œμ— μžλ™μœΌλ‘œ 싀행이 될 수 μžˆλ‹€.

     

    # chmod 755 슀크립트파일λͺ…
    chmod 755 startup.sh

     

    3. μ‹œμž‘μŠ€ν¬λ¦½νŠΈ 등둝

    μ‹œμž‘μŠ€ν¬λ¦½νŠΈλ‘œ 등둝을 ν•΄μ€˜μ•Ό μž¬λΆ€νŒ…μ‹œμ— μž‘λ™ν•œλ‹€.

     

    # update-rc.d 슀크립트파일λͺ… defaults
    update-rc.d startup.sh defaults

     

    ν™•μΈν•˜λŠ” 방법은 μ•„λž˜μ™€ κ°™λ‹€.

     

    # ls /etc/rc*/*슀크립트파일λͺ…
    ls /etc/rc*/*startup.sh


    β€» μ‹œμž‘ μŠ€ν¬λ¦½νŠΈ μ‚­μ œ μ‹œ

    # update-rc.d -f 슀크립트파일λͺ… remove
    update-rc.d -f startup.sh remove

     

     

     

    μ°Έκ³ 

    https://fmyson.tistory.com/355