【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

浙公网安备 33010602011771号