【Linux】服务自重启

1、添加脚本,注意 cd 是非常关键的一步操作

#!/bin/bash

# 进入脚本所在的目录
cd /opt/web-chart

PORT=1024
JAR_PATH="/opt/web-chart/sf-admin-prod-3.0.0.jar"

# 使用 ss 检查端口 1024 是否被监听
ss -tuln | grep ":$PORT" > /dev/null

if [ $? -ne 0 ]; then
    echo "$(date): 端口 $PORT 未监听,正在重启服务..."

    # 使用完整路径启动 Java 服务
    nohup /usr/local/jdk/bin/java -jar $JAR_PATH > /opt/web-chart/start.log 2>&1 &

    echo "$(date): jar 服务已启动!"
else
    echo "$(date): 端口 $PORT 正常,服务运行中!"
fi

  

2、java 可能找不到,地址要确定

which java

3、打开 crontab 编辑器

crontab -e

4、添加定时任务

* * * * * sleep 30 && /opt/web-chart/start.sh >> /opt/web-chart/cron_output.log 2>&1 # 每30秒执行一次

5、确保 cron 服务在启动

sudo systemctl status cron

6、如果 cron 没有运行,启动他

sudo systemctl start cron

7、确保 sh 脚本有权限

sudo chmod +x /opt/web-chart/start.sh

  

 

posted @ 2025-11-20 10:45  迷你胡丶  阅读(3)  评论(0)    收藏  举报