步驟記錄
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
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
5. 驗證是否能重啟項目
kill掉當前java項目的進程,等待定時任務執行
再次查看項目是否啟動
自動重啟已經掛掉的java項目操作流程就此完成