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

相关推荐
海阔天空任鸟飞~5 小时前
Linux 权限 777
linux·运维·服务器
码兄科技6 小时前
实战:基于Spring Boot + UniApp的地理信息小程序开发
spring boot·后端·uni-app
Kina_C7 小时前
Linux iptables 防火墙原理与实操——从四表五链到 NAT 配置
linux·运维·服务器·iptables
wdfk_prog8 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
雷工笔记12 小时前
什么是Ubuntu?
linux·运维·ubuntu
jsons113 小时前
autofs挂载
linux·服务器·网络
liwulin050613 小时前
【ollama】自定义结构化输出
linux·前端·数据库·ollama
豆瓣鸡13 小时前
Guava RateLimiter 限流实战:从令牌桶原理到 Nacos 动态配置
spring boot·微服务·nacos·guava
gs8014014 小时前
【实战】记一次 Linux 服务器入侵排查:grok-agent 后门木马深度剖析与彻底清理
linux·运维·服务器
笑小枫14 小时前
用 Claude Code 推翻重写笑小枫网站
java·人工智能·spring boot·ai编程