Spring Boot 프로젝트 스 크 립 트 (시작, 정지, 재 부팅, 상태) 일반 버 전

적용 범위:
       Spring Boot 프로젝트 jar 패키지 시작, 정지, 재 부팅, 상태 등.
스 크 립 트 실행:
  • 스 크 립 트 를 프로젝트 폴 더 에 넣 기
  • 스 크 립 트 권한 변경, 실행 권한 증가
  • chmod +x spring-boot.sh
  •  서비스 시작
  • sh spring-boot.sh start jar  

      정상 적 인 상황 에서 "Start" 가 나타 날 수 있 습 니 다.  gateway-server-1.0.0-exec.jar  success... "
  • 상태 보기
  • sh spring-boot.sh status jar  

      정상 적 인 상황 에 서 는 "gateway - server - 1.0.0 - exec. jar" 가 나타 납 니 다.  is  running... "
  • 서비스 정지
  • sh spring-boot.sh stop jar  

        정상 적 인 상황 에 서 는 "Stop gateway - server - 1.0.0 - exec. jar" 라 는 글자 가 나타 납 니 다.
  • 서비스 재 개
  • sh spring-boot.sh restart jar  

      정상 적 인 상황 에 서 는 "Stop gateway - server - 1.0.0 - exec. jar", "Start gateway - server - 1.0.0 - exec. jar success..." 라 는 글자 가 나타 납 니 다.
    스 크 립 트 코드:
    #!/bin/bash
    
    SpringBoot=$2
    
    if [ "$1" = "" ];
    then
        echo -e "\033[0;31m        \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
        exit 1
    fi
    
    if [ "$SpringBoot" = "" ];
    then
        echo -e "\033[0;31m        \033[0m"
        exit 1
    fi
    
    function start()
    {
    	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    	if [ $count != 0 ];then
    		echo "$SpringBoot is running..."
    	else
    		echo "Start $SpringBoot success..."
    		nohup java -jar $SpringBoot > /dev/null 2>&1 &
    	fi
    }
    
    function stop()
    {
    	echo "Stop $SpringBoot"
    	boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
    	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    
    	if [ $count != 0 ];then
    	    kill $boot_id
        	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    
    		boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
    		kill -9 $boot_id
    	fi
    }
    
    function restart()
    {
    	stop
    	sleep 2
    	start
    }
    
    function status()
    {
        count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
        if [ $count != 0 ];then
            echo "$SpringBoot is running..."
        else
            echo "$SpringBoot is not running..."
        fi
    }
    
    case $1 in
    	start)
    	start;;
    	stop)
    	stop;;
    	restart)
    	restart;;
    	status)
    	status;;
    	*)
    
    	echo -e "\033[0;31m Usage: \033[0m  \033[0;34m sh  $0  {start|stop|restart|status}  {SpringBootJarName} \033[0m
    \033[0;31m Example: \033[0m
    	  \033[0;33m sh  $0  start esmart-test.jar \033[0m"
    esac

    sh 스 크 립 트 가 window 에서 Liux 로 시작 하면 문제 가 발생 할 수 있 습 니 다. Liux 에서 실 행 될 때 파일 을 찾 을 수 없다 는 것 을 알 릴 수 있 습 니 다. 예 를 들 어 spring - boot. sh: vim spring - boot. sh, 그리고 set ff = 유 닉 스, 마지막: wq 만 있 으 면 됩 니 다.
    주의:
    이 스 크 립 트 를 사용 하려 면 자바 - jar 명령 전에 추가 해 야 합 니 다.  BUILD_ID=dontKillMe  , 안 그러면 젠 킨 스 가 프로 세 스 를 죽 일 거 야.
    참고:https://stackoverflow.com/questions/39169457/how-to-tell-jenkins-not-to-kill-processes-after-successful-execution-of-job-in-m

    좋은 웹페이지 즐겨찾기