首页 > 其他分享 >jar包启动脚本, 以及外置配置文件application.yml

jar包启动脚本, 以及外置配置文件application.yml

时间:2023-02-01 16:22:30浏览次数:47  
标签:NAME 配置文件 jar APP PID 外置 echo start OPTS

想使用sh脚本来启动,停止,重启我们的jar服务, 顺便还要外置配置文件方便修改
示例server.sh如下,启动命令为sh server.sh start或restart或stop,修改其中的这几个参数即可:
SPB_OPTS 使用的配置profile类型
APP_LOCATION jar在linux中的绝对路径
APP_NAME 项目名称

#!/bin/bash
VM_OPTS="-Xms2048m -Xmx2048m"
SPB_OPTS="--spring.profiles.active=prod"
APP_LOCATION="/home/pmish/apps/m2k/m2k.jar"
APP_NAME="m2k"
PID_CMD="ps -ef |grep $APP_NAME |grep -v grep |awk '{print \$2}'"

start() {
 echo "=============================start=============================="
 PID=$(eval $PID_CMD)
 if [[ -n $PID ]]; then
    echo "$APP_NAME is already running,PID is $PID"
 else
    java $VM_OPTS -jar $APP_LOCATION $SPB_OPTS >/dev/null &
    echo "java $VM_OPTS -jar $APP_LOCATION $SPB_OPTS >/dev/null "
    PID=$(eval $PID_CMD)
    if [[ -n $PID ]]; then
       echo "Start $APP_NAME successfully,PID is $PID"
    else
       echo "Failed to start $APP_NAME !!!"
    fi
 fi
 echo "=============================start=============================="
}

stop() {
 echo "=============================stop=============================="
 PID=$(eval $PID_CMD)
 if [[ -n $PID ]]; then
    kill -15 $PID
    sleep 5
    PID=$(eval $PID_CMD)
    if [[ -n $PID ]]; then
      echo "Stop $APP_NAME failed by kill -15 $PID,begin to kill -9 $PID"
      kill -9 $PID
      sleep 2
      echo "Stop $APP_NAME successfully by kill -9 $PID"
    else
      echo "Stop $APP_NAME successfully by kill -15 $PID"
    fi
 else
    echo "$APP_NAME is not running!!!"
 fi
 echo "=============================stop=============================="
}

restart() {
  echo "=============================restart=============================="
  stop
  start
  echo "=============================restart=============================="
}

status() {
  echo "=============================status=============================="
  PID=$(eval $PID_CMD)
  if [[ -n $PID ]]; then
       echo "$APP_NAME is running,PID is $PID"
  else
       echo "$APP_NAME is not running!!!"
  fi
  echo "=============================status=============================="
}

info() {
  echo "=============================info=============================="
  echo "APP_LOCATION: $APP_LOCATION"
  echo "APP_NAME: $APP_NAME"
  echo "VM_OPTS: $VM_OPTS"
  echo "SPB_OPTS: $SPB_OPTS"
  echo "=============================info=============================="
}

help() {
   echo "start: start server"
   echo "stop: shutdown server"
   echo "restart: restart server"
   echo "status: display status of server"
   echo "info: display info of server"
   echo "help: help info"
}

case $1 in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    restart
    ;;
status)
    status
    ;;
info)
    info
    ;;
help)
    help
    ;;
*)
    help
    ;;
esac
exit $?

如果希望application.yml外置, 则应该在jar包同级目录新建一个config文件夹, 将application.yml放在config目录下即可

标签:NAME,配置文件,jar,APP,PID,外置,echo,start,OPTS
From: https://www.cnblogs.com/qds1401744017/p/17083216.html

相关文章

  • Idea Maven 建本地仓库-导入本地JAR包
    需求IDEA很方便集成了Maven,但是也有相应的问题,比如使用Maven仓没有包的时候不太方便,这时我们需要建立自已的本地仓库来实现实现找到Idea的安装目录下面的Maven......
  • idea创建.proterties配置文件和国际化转换
    idea创建.proterties配置文件和国际化转换一、idea创建.proterties配置文件1.2.二、利用Java国际化转换1.找到jdk的安装路径找到bin目录里面有一个native2ascii.exe程序可......
  • 手动导入jar
    mvninstall:install-file-Dfile=D:\java_tools\maven\maven-repository\cn\afterturn\easypoi-base-cy\4.4.0-SNAPSHOT\easypoi-base-cy-4.4.0-20220106.073649-1.jar-D......
  • Idea 远程调试Jar包
    Idea远程调试Jar包​​1.在idea中创建Maven工程,并进行打包​​​​2.拷贝target目录下的jar包到远程服务器上​​​​3.在Idea工具上做如下操作​​​​4.添加如下命令,修......
  • Redis配置文件中各个配置项含义
    redis是一款开源的、高性能的键-值存储(key-valuestore),和memcached类似,redis常被称作是一款key-value内存存储系统或者内存数据库,同时由于它支持丰富的数据结构,又被称为一......
  • GAV坐标和jar包的定位关系
    对于我们项目需要使用某个jar的依赖,在项目的pom.xml中添加dependency即可,依赖的jar包不知道怎么写,可以在maven的仓库中搜索;官网仓库地址:http://mvnrepository.com <dep......
  • 将spring boot项目打包成jar包
    在springboot项目的pom文件中加入<packaging>jar</packaging>生成jar包文件右键OpenInExplorer找到文件所在位置可以关闭idea了在文件所在目录下打开cmd,打开命......
  • LINUX 运行jar包
    LINUX运行jar包一.java-jarXXX.jar这个命令在关闭服务器连接窗口的时候项目也会被跟着关闭。二.java-jarXXX.jar&这个命令在运行jar包后,连接页面不被锁定,但是关闭连......
  • Springboot打jar包报错问题
    Springboot打jar包报错问题原因单元测试不能打包解决办法一解决办法二删除单元测试类......
  • springboot整合activemq(三)配置文件
    #服务端口,8080被另一服务占用server.port=9090spring.activemq.broker-url=tcp://127.0.0.1:61616#在考虑结束之前等待的时间#spring.activemq.close-timeout=15s#默认代......