springboot-自动重启脚本

2020-10-19  本文已影响0人  懒癌晚期的自律

```

#!/bin/bash

source /etc/profile

APP_NAME=push-0.0.1-SNAPSHOT.jar

APP_PORT=8086

#使用说明,用来提示输入参数

usage() {

echo "Usage: sh 脚本名.sh [start|stop|restart|status]"

exit 1

}

#检查程序是否在运行

is_exist(){

pid=`ps -ef|grep $APP_NAME |grep $APP_PORT |grep -v grep|awk '{print $2}' `

echo "APP_PID:${pid}"

#如果不存在返回1,存在返回0

if [ -z "${pid}" ]; then

return 1

else

return 0

fi

}

#启动方法

start(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is already running. pid=${pid} ."

else

nohup /usr/java/jdk1.8.0_231-amd64/bin/java -Xmx2048m -Xms1024m -jar /usr/local/application/push/push-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod  --server.port=8086  >> push_8086_$(date +'%Y%m%d').log  2>&1 &

echo "${APP_NAME} start success"

fi

}

#停止方法

stop(){

is_exist

if [ $? -eq "0" ]; then

kill -9 $pid

else

echo "${APP_NAME} is not running"

fi

}

#输出运行状态

status(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is running. Pid is ${pid}"

else

echo "${APP_NAME} is NOT running."

fi

}

#重启

restart(){

stop

start

}

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case "$1" in

"start")

start

;;

"stop")

stop

;;

"status")

status

;;

"restart")

restart

;;

*)

#usage

restart

;;

esac

```

上一篇下一篇

猜你喜欢

热点阅读