Share a startup, shutdown, restart springboot project shell script

EDITORIAL

Recently, the company's project required on the server to do some adjustments, have become unified structure look

- conf目录
- lib目录
- log目录
- script目录

conf directory of the main storage spring boot configuration file, you can change the configuration data corresponding
lib directory is already stored in lay version of spring boot executable jar package
log directory is stored in the system log the corresponding system generated
script directory is stored in the system start script

Here Insert Picture Description
shell source code as follows:

#!/bin/bash
    #jar名称
    **APP_NAME=../lib/a.jar** # 这块替换为你的jar包即可
    CONFIG_NAME=../conf/application.properties
    #使用说明,用来提示输入参数
    usage() {
        echo "Usage: sh a.sh [start|stop|restart|status]" # a.sh 为这个脚本名称 替换为你喜欢的名称即可
        exit 1
    }
    
    #检查程序是否在运行
    is_exist() { 
        pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
        #如果不存在返回1,存在返回0
        if [ -z "${pid}" ]; then
          return 1
        else
          return 0
        fi
    }
    
    #启动方法
    start() {
       is_exist
       if [ $? -eq "0" ]; then
         echo "${APP_NAME} is already running. pid=${pid} ."
       else
         nohup java -jar -Dspring.config.location=$CONFIG_NAME $APP_NAME > /dev/null 2>&1 &
       fi
    }
    
    #停止方法
    stop() {
       is_exist
       if [ $? -eq "0" ]; then
         kill -9 $pid
       else
         echo "${APP_NAME} is not running"
       fi
    }
    
    #输出运行状态
    status() {
       is_exist
       if [ $? -eq "0" ]; then
         echo "${APP_NAME} is running. Pid is ${pid}"
       else
         echo "${APP_NAME} is not running."
       fi
    }
    
    #重启
    restart() {
       stop
       start
    }
    
    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
       "start")
         start
         ;;
       "stop")
         stop
         ;;
       "status")
         status
         ;;
       "restart")
         restart
         ;;
       *)
         usage
         ;;
    esac

Use the command

sh a.sh [start|stop|restart|status]
Published 53 original articles · won praise 64 · Views 100,000 +

Guess you like

Origin blog.csdn.net/lvoyee/article/details/104017834