1.编写健康检查脚本:third_health.sh (健康检查是eureka的healthCheckUrlPath)

#!/bin/bash
datestr=`date "+%Y-%m-%d %H:%M:%S"`
echo "$datestr : check start"
curl -s localhost:9004/actuator/health > /dev/null
 
[ $? -eq 0 ] && echo "$datestr : server is running"
[ $? -ne 0 ] && echo "$datestr : server is not running, restart" && sh /data/app.sh third-server restart

如果$?获取到curl执行状态不等于0,运行不成功,则执行&&后的重启服务命令

2.用crontab定时任务来执行上面的健康检查脚本,每15分钟检查一次,编辑crontab后两分钟会自动生效,不用重启crontab

Linux运行 crontab -e  然后输入i,进入编辑模式,加入如下配置:

*/15 * * * * nohup sh /data/security/health/third_health.sh 1>>"/data/security/health/third_health.log" 2>&1 </dev/null &

Ctrl+c退出编辑,:wq保存退出,等待crontab定时配置自动生效,日志会输出到指定的log文件里


版权声明:本文为hechurui原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/hechurui/article/details/126466118