使用shell制作启动,重启,停止springboot服务脚本

 

如下图,需要先建好的目录有: 

1.application.yml,启动指定的spring boot配置文件

2.logs:放置日志的目录,启动(访问日志)会输出到这个目录下面

3.需要上传打好的jar包

使用shell制作启动,重启,停止springboot服务脚本_第1张图片

 

启动脚本:  startup.sh:

#!/bin/sh
## java env  java环境指定
export JAVA_HOME=/usr/local/src/jdk/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre

# jar名称
JAR_NAME=ruanyan1-0.0.1-SNAPSHOT.jar
##当前目录
DEPLOY_DIR=`pwd`

# 配置文件名称
CONF_DIR=$DEPLOY_DIR/application.yml
## 日志输出目录文件
LOGS_DIR=$DEPLOY_DIR/logs
STDOUT_FILE=$LOGS_DIR/catalina.out


#检查程序是否在运行
is_exist(){
  pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `
  #如果不存在返回1,存在返回0     
  if [ -z "${pid}" ]; then
   return 1
  else
    return 0
  fi
}

#启动方法
startFun(){
  is_exist
  if [ $? -eq "0" ]; then 
    echo ">>> ${JAR_NAME} is already running PID=${pid} <<<" 
    exit 1
  else 
    ## 指定jvm,jar名称,配置文件,以及日志输出目录文件
    nohup $JRE_HOME/bin/java -Xms256m -Xmx512m -jar $JAR_NAME --spring.config.location=$CONF_DIR > $STDOUT_FILE 2>&1 &
    echo ">>> start $JAR_NAME successed pid=$! <<<"
    ## 输出实时日志
    tail -f ${STDOUT_FILE}
   fi
  }
## 启动服务
startFun

停止的脚本:stop.sh

#!/bin/sh 
 # jar名称
JAR_NAME=ruanyan1-0.0.1-SNAPSHOT.jar
 
 ## 检查服务是否启动
is_exist(){
   pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `
##如果不存在返回1,存在返回0     
   if [ -z "$pid" ]; then
   return 1
   else
     return 0
   fi
} 

is_exist
if [ $? -eq "0" ]; then
  echo -e "Stopping the $JAR_NAME ...\c"
	##shell中可以直接使用函数中定义的变量,注意函数必须定义在使用的前面
  kill -9 $pid
else
  echo "ERROR,${JAR_NAME} does not running...."
  exit 1
fi
echo "Stoped OK!"
echo "PID: $pid"

 

重新启动的脚本: restart.sh

#!/bin/sh
echo "restart the application...."
./stop.sh
./startup.sh

在logs目录下面,有一个日志文件:

 

 

这个都是在shell脚本中我已经指定了的

 

上传好jar包之后,启动脚本

./startup.sh

如下图:

使用shell制作启动,重启,停止springboot服务脚本_第2张图片

 

启动完成后,访问:

使用shell制作启动,重启,停止springboot服务脚本_第3张图片

 

 

可以看到访问是ok的

 

 

 

 

 

 

 

 

你可能感兴趣的:(使用shell制作启动,重启,停止springboot服务脚本)