监控自动重启脚本

Liunx

#! /bin/bash

resptime=`curl -o /dev/null -s -w %{time_total} 127.0.0.1:8085`

resptime1=`curl -o /dev/null -s -w %{time_total} 127.0.0.1:8080`

resptime2=`curl -o /dev/null -s -w %{time_total} 127.0.0.1:8081`

resptime3=`curl -o /dev/null -s -w %{time_total} 127.0.0.1:8082`

echo "监控脚本已启动,启动时间:"`date "+%Y%m%d%H%M%S"` >> /data/restartlog/script.txt

if [[ $resptime > 1 ]] || [[ $resptime == 0.000 ]]; then

#jdk路径,根据你自己的jdk安装位置修改

export PATH=$PATH:/usr/java/jdk1.8.0_301-amd64/bin

#要执行的jar包路径

cd /data2/gxkj/project2

#要执行的jar包名称

APP_NAME=epms-hp-admintest.jar

#找到服务的pid

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

#停止服务

kill -9 $pid

#启动服务

nohup java  -Dfile.encoding=utf-8  -Dlog4j2.formatMsgNoLookups=true -jar epms-hp-admintest.jar --spring.profiles.active=prod --server.port=8085 >/dev/null 2>&1 &

echo "epms-hp-admintest重启完成,重启时间:"`date "+%Y%m%d%H%M%S"`"  pid:"$pid >> /data/restartlog/epms-hp-admintest.txt

fi

if [[ $resptime1 > 1 ]] || [[ $resptime1 == 0.000 ]]; then

#jdk路径,根据你自己的jdk安装位置修改

export PATH=$PATH:/usr/java/jdk1.8.0_301-amd64/bin

#要执行的jar包路径

cd /data3/gxkj/project

#要执行的jar包名称

APP_NAME=epms-hp-admin.jar

#找到服务的pid

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

#停止服务

kill -9 $pid

#启动服务

nohup java  -Dfile.encoding=utf-8  -Dlog4j2.formatMsgNoLookups=true -jar epms-hp-admin.jar --spring.profiles.active=prod --server.port=8080 >/dev/null 2>&1 &

echo "epms-hp-admin重启完成,重启时间:"`date "+%Y%m%d%H%M%S"`"  pid:"$pid >> /data/restartlog/epms-hp-admin.txt

fi

if [[ $resptime2 > 1 ]] || [[ $resptime2 == 0.000 ]]; then

#jdk路径,根据你自己的jdk安装位置修改

export PATH=$PATH:/usr/java/jdk1.8.0_301-amd64/bin

#要执行的jar包路径

cd /data3/gxkj/project2

#要执行的jar包名称

APP_NAME=epms-hp-admin2.jar

#找到服务的pid

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

#停止服务

kill -9 $pid

#启动服务

nohup java  -Dfile.encoding=utf-8  -Dlog4j2.formatMsgNoLookups=true -jar epms-hp-admin2.jar --spring.profiles.active=prod --server.port=8081 >/dev/null 2>&1 &

echo "epms-hp-admin2重启完成,重启时间:"`date "+%Y%m%d%H%M%S"`"  pid:"$pid >> /data/restartlog/epms-hp-admin2.txt

fi

if [[ $resptime3 > 1 ]] || [[ $resptime3 == 0.000 ]]; then

#jdk路径,根据你自己的jdk安装位置修改

export PATH=$PATH:/usr/java/jdk1.8.0_301-amd64/bin

#要执行的jar包路径

cd /data3/gxkj/project3

#要执行的jar包名称

APP_NAME=epms-hp-admin3.jar

#找到服务的pid

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

#停止服务

kill -9 $pid

#启动服务

nohup java  -Dfile.encoding=utf-8  -Dlog4j2.formatMsgNoLookups=true -jar epms-hp-admin3.jar --spring.profiles.active=prod --server.port=8082 >/dev/null 2>&1 &

echo "epms-hp-admin3重启完成,重启时间:"`date "+%Y%m%d%H%M%S"`"  pid:"$pid >> /data/restartlog/epms-hp-admin3.txt

fi


上述脚本配合liunx的定时任务,当服务崩溃可以自动重启

windows 定时重启

@echo off

set port=8112

for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (

    echo kill the process %%m who use the port

    taskkill /pid %%m -t -f

    goto start

)

:start

title byyqPro

java -jar C:\Users\Administrator\Desktop\hp1\hp1115\epms-hp-admin.jar

配合windows的定时重启即可

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容