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

相关推荐
KingRumn20 小时前
Linux信号之标准信号与实时信号
linux·算法
2501_916766541 天前
【Springboot】数据层开发-数据源自动管理
java·spring boot·后端
QT 小鲜肉1 天前
【Linux命令大全】001.文件管理之git命令(实操篇)
linux·服务器·笔记·git·elasticsearch
软件管理系统1 天前
基于Spring Boot的便民维修管理系统
java·spring boot·后端
sishen41991 天前
嵌入式Linux没有学习方向怎么办,嵌入式Linux怎么学
linux
逆风水手1 天前
Ansible自动化运维入门指南
linux·运维·自动化·ansible
旖旎夜光1 天前
Linux(3)(下)
linux·学习
小鹿学程序1 天前
任务一-1.子任务一:基础环境准备
linux·bigdata
Nautiluss1 天前
一起玩XVF3800麦克风阵列(十)
linux·人工智能·python·音频·语音识别·实时音视频·dsp开发
悲喜自渡7211 天前
Python 编程(gem5 )
java·linux·开发语言