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

相关推荐
sulikey15 小时前
Linux ext2文件系统结构
linux·操作系统·文件系统·linux文件系统·ext2·ext2文件系统
白菜欣15 小时前
Linux — 进程控制
android·linux·运维
Spider Cat 蜘蛛猫16 小时前
Springboot SSO系统设计文档
java·spring boot·后端
皮卡狮16 小时前
Linux开发专属工具
linux
weixin_4217252616 小时前
Linux 编程语言全解析:C、C++、Python、Go、Rust 谁更强?
linux·python·go·c·编程语言
Tolalal16 小时前
Vmware Ubuntu虚拟机扩容
linux·运维·ubuntu
我星期八休息17 小时前
Linux系统编程—基础IO
linux·运维·服务器·c语言·c++·人工智能·算法
Shingmc317 小时前
【Linux】数据链路层
linux·服务器·网络
bksczm17 小时前
文件描述符
linux