服务器JAR启动脚本

Posted 兜兜里没糖糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器JAR启动脚本相关的知识,希望对你有一定的参考价值。

#!/bin/bash
  #这里可替换为你自己的执行程序,其他代码无需更改
  APP_NAME=robot-admin-1.0-SNAPSHOT.jar
   
  #使用说明,用来提示输入参数
  usage() 
      echo "Usage: sh robot-admin.sh [start|stop|restart|status]"
      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 -Xmx300m -Xms300m  -jar -Duser.timezone=GMT+08 -Dfile.encoding=utf-8 /robot/project/admin/$APP_NAME --spring.profiles.active=prod --logging.config=classpath:logback-boot.xml >> /dev/null 2>&1 &
     sleep 2s
   #  tail -100f /robot/project/admin/logs/spring.log
     echo "$APP_NAME start success"
   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

命令: sh xxx.jar  [start,stop,restart]  注意脚本位置同目录下

SpringBoot项目打包成jar后,启动脚本

将springboot项目打包成jar后,上传至服务器,每次都需要手敲命令,重新部署项目,可将这些命令写入脚本中,直接运行。

启动脚本(start.sh):

CUR_PATH=$(cd "$(dirname "$0")"; pwd)
echo "Current path: ${CUR_PATH}"
/usr/lib/java-1.8.0/jdk1.8.0_161/bin/java -jar ${CUR_PATH}/***.jar

代码中的标红部分,为指定JDK启动(服务器中环境变量配置的JDK为7,项目是基于springboot2.0的,对JDK要求8.0+),标红部分,可直接用java代替。

***是自己的项目名称。

这种启动方式是当前窗口运行,退出当前窗口的话,就会停止运行。如果想后台运行,直接在代码最后加上&

关闭脚本(stop.sh):

PID=$(ps -ef | grep ***.jar | grep -v grep | awk ‘{ print $2 }‘)
if [ -z "$PID" ]
then

    echo Application is already stopped
else

    echo kill $PID

    kill $PID
fi

重启脚本(restart.sh):

echo stop application

source stop.sh

echo start application

source start.sh

最后,强调一句,别忘了给新建的.sh文件执行权限

以上是关于服务器JAR启动脚本的主要内容,如果未能解决你的问题,请参考以下文章

Linux shell脚本启动 停止 重启jar包

Centos7设置jar服务开机自动启动(亲测有效)

使用 linux shell脚本启动jar包,进行关闭,查看状态

spring cloud 微服务启动脚本

java项目打成jar包并部署到Linux服务器,以及在shell脚本中启动java程序

Linux下启动停止服务shell脚本