使用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