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

相关推荐
专注_每天进步一点点1 小时前
idea 启动Springboot项目在编译阶段报错:java: OutOfMemoryError: insufficient memory
java·spring boot·intellij-idea
不知几秋3 小时前
数字取证-内存取证(volatility)
java·linux·前端
欧先生^_^6 小时前
Linux内核可配置的参数
linux·服务器·数据库
weixin_545019326 小时前
微信小程序智能商城系统(uniapp+Springboot后端+vue管理端)
spring boot·微信小程序·uni-app
海尔辛6 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
王RuaRua7 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
曼岛_7 小时前
[架构之美]linux常见故障问题解决方案(十九)
linux·运维·架构
tan180°8 小时前
Linux进程信号处理(26)
linux·c++·vscode·后端·信号处理
大神的风范8 小时前
从0开始学linux韦东山教程第三章问题小结(4)
linux·服务器
一只码代码的章鱼8 小时前
Spring的 @Validate注解详细分析
前端·spring boot·算法