当前位置: 首页 > article >正文

spring boot启动停止重启脚本

一、单个文件启动脚本----gm_app.sh(stop,start,restart)
#!/bin/sh
export JAVA_HOME=/home/weblogic/java
export JRE_HOME=$JAVA_HOME/jre

basepath=$(cd `dirname $0`; pwd)

app_name=gm_app
jar_file=${basepath}/${app_name}.jar
log_path=${basepath}/logs
log_file=${log_path}/info-all.log
pid_file=${basepath}/${app_name}.pid
#config_file=${basepath}/application.properties
#lib_path=${basepath}/lib
server_port=8840
#gm_start_timer=true

#使用说明,用来提示输入参数
usage() {
    echo "Usage: sh 执行脚本.sh [start|stop|restarti|status|log]"
    exit 1
}

#检查程序是否在运行
is_exist(){
  pid=`ps -ef|grep $jar_file|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 ">>> ${jar_file} is already running PID=${pid} <<<" 
  else
    if [ ! -d $log_path ]; then
    mkdir $log_path
    fi
    if [ ! -f $log_file ]; then
    touch $log_file
    fi
    nohup java -server \
        -Xms2g -Xmx2g -Xmn1g \
        -XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking \
        -Djava.awt.headless=true \
        -Djava.security.egd=file:/dev/../dev/urandom \
        -Dspring.profiles.active=prod \
        -Dgm_logging_path=${log_path} \
        -Dserver_port=${server_port} \
        -jar $jar_file >/dev/null 2>&1 &
    echo $! > $pid_file
    echo ">>> start $jar_file successed PID=$! <<<" 
   fi
}

#停止方法
stop(){
  #is_exist
  pidf=$(cat $pid_file)
  #echo "$pidf"  
  echo ">>> api PID = $pidf begin kill $pidf <<<"
  kill $pidf
  rm -rf $pid_file
  sleep 2
  is_exist
  if [ $? -eq "0" ]; then 
    echo ">>> api 2 PID = $pidf begin kill -9 $pidf  <<<"
    kill -9  $pidf
    sleep 2
    echo ">>> $jar_file process stopped <<<"  
  else
    echo ">>> ${jar_file} is not running <<<"
  fi  
}

#输出运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo ">>> ${jar_file} is running PID is ${pid} <<<"
  else
    echo ">>> ${jar_file} is not running <<<"
  fi
}

#重启
restart(){
  stop
  start
}

#输出warn日志
logall(){
    echo ">>> info-all <<<"
    tail -f $log_file
}


#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  "log")
    logall
    ;;
  *)
    usage
    ;;
esac
exit 0


二、批量启动脚本gm_service.sh
(1、重启  ./gm_service.sh restart
2、关闭  ./gm_service.sh stop
3、开启  ./gm_service.sh stop)
#!/bin/sh
basepath=$(cd `dirname $0`; pwd)

#各个服务启动脚本路径
app_sh=${basepath}/app
back_sh=${basepath}/back


#使用说明,用来提示输入参数
usage() {
    echo "Usage: sh 执行脚本.sh [start|stop|restart]"
    exit 1
}


#启动方法
start(){
cd ${app_sh}
sh gm_app.sh start

cd ${back_sh}
sh gm_back.sh start

}

#停止
stop(){
cd ${app_sh}
sh gm_app.sh stop

cd ${back_sh}
sh gm_back.sh stop

}


#重启
restart(){
  stop
  start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac
exit 0


三、查看文件脚本tail.sh
#!/bin/bash

basepath=$(cd `dirname $0`; pwd)

tail -1000f ${basepath}/logs/info-all.log 


 


http://www.kler.cn/a/401108.html

相关文章:

  • 4A架构之间的关系和集成
  • 【EasyExcel】复杂导出操作-自定义颜色样式等(版本3.1.x)
  • delphi fmx android 离线人脸识别
  • 深度学习基础练习:代码复现transformer重难点
  • 模型的评估指标——IoU、混淆矩阵、Precision、Recall、P-R曲线、F1-score、mAP、AP、AUC-ROC
  • 【机器学习】聚类算法原理详解
  • 视觉SLAM--经典视觉SLAM框架
  • MySQL数据库-SQLyoung的使用
  • 【金融风控项目-07】:业务规则挖掘案例
  • 播放器开发之ffmpeg 硬件解码方案
  • 【一文了解】C#基础-数组
  • leetcode 面试150 之随机链表的复制
  • Oracle 19c修改pga报ORA-00093、ORA-01078错进行分析处理
  • 美国人工智能国家安全备忘录核心解读(上)
  • DimensionX:单图生成任意的3d/4d视图
  • 3. 用Ruby on Rails创建一个在线商城
  • Ruby编程语言全景解析:从基础到进阶
  • linux中如何退出python
  • excel打开csv文件乱码的问题
  • 毛选阅读第一卷
  • 1Panel 推送 SSL 证书到阿里云、腾讯云
  • Spring Boot汽车资讯:科技与速度的新境界
  • 【LeetCode 题】只出现一次的数字--其余数字都出现3次
  • 打通 Dify 和 ComfyUI 的绘画尝试
  • 未来汽车新变革,智能表面浮出水面
  • 确保PyTorch在系统中正确使用CUDA的全面指南