使用shell脚本监控并自动重启已挂掉的java服务


步骤记录

1. 准备可运行的jar包

在这里插入图片描述
使用命令运行该jar包,java -jar eureka-server.jar --server.port=8769,确保jar是正常的
在这里插入图片描述

2. 编辑sh脚本

#!/bin/sh

# 进行jar所在目录
# 能日赚30的APP试玩平台推荐,亲测有效
# https://mp.weixin.qq.com/s/V5j45WYoyIvFsZbua56RSQ
cd /opt/v2
 
# 查询程序占用
project=`ps -ef|grep eureka-server|grep -v grep|wc -l`
date=`date`
server_name="eureka-server"

# $? -ne 0 不存在 
# $? -eq 0存在 
if [ $project -eq 0 ]
then
	nohup java -jar eureka-server.jar --server.port=8769 & > nohup.out 2>&1
	echo `date +%Y-%m-%d` `date +%H:%M:%S` $server_name >> /opt/eureka-server/restart.log
fi

能日赚30的APP试玩平台推荐,亲测有效

3. 验证sh脚本是否可执行

很多人都是直接拷贝网上代码直接就去操作下一步,直接运行sh文件都不起作用,后面的操作根本就徒劳。

在这里插入图片描述

我是在windows上编辑的sh脚本,传到Liunx上并不能直接运行,首先需要转码,在保存之前,先执行set ff=unix完成转码后再保存。

在这里插入图片描述
需要赋予该sh文件可执行权限

chmod a+x restart.sh

再次确认sh文件是否能正常运行
在这里插入图片描述

4. 添加到系统定时任务

编辑系统定时任务文件

crontab -e

使用cron表达式,设置1分钟运行一次

*/1 * * * * bash /opt/eureka-server/restart.sh >> /opt/eureka-server/log.log

查看定时任务日志,可以看到每隔1分钟执行了一次

# 能日赚30的APP试玩平台推荐,亲测有效
# https://mp.weixin.qq.com/s/V5j45WYoyIvFsZbua56RSQ
tail -f /var/log/cron

在这里插入图片描述

能日赚30的APP试玩平台推荐,亲测有效

5. 验证是否能重启项目

kill掉当前java项目的进程,等待定时任务执行

在这里插入图片描述

再次查看项目是否启动

在这里插入图片描述

自动重启已经挂掉的java项目操作流程就此完成


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM