IT/DevOps

[linux] linux start, stop shell template

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2023. 12. 30.

๋ชฉ์ฐจ

    start.sh

    jboss service๋ฅผ ๊ตฌ๋™ํ•˜๋Š” ์‰˜ ์˜ˆ์‹œ๋‹ค.

    ์„œ๋น„์Šค ๊ตฌ๋™ ์‹œ vm ์˜ต์…˜์„ ์ „๋‹ฌํ•ด์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ํ•˜๊ณ (ํ‘œ์ค€ ์ถœ๋ ฅ, ์—๋Ÿฌ ๋ฌด์‹œ) pid๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค.(killํ•  ๋•Œ ์‚ฌ์šฉ)

    #!/bin/sh
    
    #vm ์˜ต์…˜
    JAVA_OPTS="-Dglobals.profiles.active=dev"
    
    echo "jboss start."
    
    #jboss start
    nohup ./standalone.sh $JAVA_OPTS 1>/dev/null 2>&1 &
    
    #pid ์ €์žฅ
    echo $! > admin.pid
    #๋กœ๊ทธ ์ถœ๋ ฅ
    tail -f ../standalone/log/server.log

    stop.sh

    ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์‹œ ๋งŒ๋“  admin.pidํŒŒ์ผ์—์„œ pid๋ฅผ ์ฐพ์•„์„œ killํ•œ ๋’ค pid ํŒŒ์ผ์„ ์‚ญ์ œํ•œ๋‹ค.

    #!/bin/sh
    
    kill $(cat /๊ฒฝ๋กœ/admin.pid) #start.sh ์‹œ์ž‘์‹œ ์ƒ์„ฑํ•˜๋Š” pidํŒŒ์ผ
    echo "killed!"
    rm -rf /๊ฒฝ๋กœ/admin.pid

    start_custom.sh

    jboss ์‹คํ–‰ ์‹œ -Djboss.server.base.dir ์˜ต์…˜์„ ์ฃผ๋‹ˆ pid๊ฐ€ 2๊ฐœ๊ฐ€ ์ƒ๊ฒจ์„œ ๋งˆ์ง€๋ง‰์— ์ƒ์„ฑ๋œ pid๋ฅผ ์ฐพ์•„์„œ ์ฃฝ์—ฌ์•ผ ํ–ˆ๋‹ค.(๋‹จ๋… ์ธ์Šคํ„ด์Šค๋ฅผ 2๊ฐœ ๋งŒ๋“ค์–ด์•ผ ํ•ด์„œ ์ €๋ ‡๊ฒŒ ํ–ˆ๋‹ค.)

    #!/bin/sh
    
    #vm ์˜ต์…˜
    JAVA_OPTS="-Dglobals.profiles.active=dev"
    
    echo "admin start."
    #jboss start(vm ์˜ต์…˜ ์ „๋‹ฌ, ํ‘œ์ค€ ์ถœ๋ ฅ, ์—๋Ÿฌ ๋ฌด์‹œ)
    nohup ./standalone.sh -Djboss.server.base.dir=/home/dev1/app/jboss-eap-7.4/standalone $JAVA_OPTS 1>/dev/null 2>&1 &
    
    # ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ๋™์•ˆ pid๋ฅผ ์ฐพ์•„์„œ pid๋ฅผ ์ฐพ์œผ๋ฉด ํŒŒ์ผ๋กœ ์ €์žฅ ํ›„ ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ
    while true; do
      #pid ์ฐพ๋Š”๋‹ค.
      if ps aux | grep "java" | grep -v grep | grep "standalone" > /dev/null; then
        #๋งˆ์ง€๋ง‰ pid๋ฅผ ๋ณ€์ˆ˜์— ์น˜ํ™˜ 
        latest_pid=$(ps aux | grep "java" | grep -v grep | awk '{print $2}' | sort -n | tail -n 1)
        #pid ํŒŒ์ผ๋กœ ์ €์žฅ
        echo $latest_pid > admin_pid.txt
        break
      fi
      # 1์ดˆ ๋Œ€๊ธฐ ํ›„ ์žฌ์‹œ๋„
      sleep 1
    done
    
    #๋กœ๊ทธ ์ถœ๋ ฅ
    tail -f ../standalone/log/server.log

    ๊ฐœ์ธ ์Šคํ„ฐ๋”” ๊ธฐ๋ก์„ ๋ฉ”๋ชจํ•˜๋Š” ๊ณต๊ฐ„์ด๋ผ ํ‹€๋ฆฐ์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ‹€๋ฆฐ ์  ์žˆ์„ ๊ฒฝ์šฐ ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    ๋Œ“๊ธ€