在Linux上设置jar包挂掉的自动重启,可以通过编写脚本和配置计划任务来实现。以下是具体的步骤:
编写重启脚本:
创建一个脚本文件,例如restart.sh,在脚本中添加以下内容:
#!/bin/bash
source /etc/profile
# 检查某个jar包是否在运行
if ps -ef | grep "your-jar-package.jar" | grep -v "grep" > /dev/null; then
echo "Jar package is running, no need to restart."
else
echo "Jar package is not running, restarting..."
nohup java -jar your-jar-package.jar > your-jar-package.log 2>&1 &
fi
在脚本中,需要替换your-jar-package.jar为你要监控的jar包的名称,并确保脚本具有执行权限(chmod +x restart.sh)。
2. 配置计划任务:
使用cron来配置计划任务,以定期运行重启脚本。打开crontab编辑器:
crontab -e
然后添加以下行来设置计划任务:
0 22 */7 * * /path/to/restart.sh > /dev/null 2>&1 &
这将在每7天的22:00(晚上10点)执行重启脚本。你可以根据需要修改时间。
3. 保存并退出编辑器。现在,你的计划任务已经设置好了,它将定期检查jar包是否在运行,并在必要时自动重启它。
4. 监控和日志:你可以通过查看日志文件来跟踪jar包的运行情况。日志文件的位置是在脚本中指定的,例如your-jar-package.log。此外,还可以使用其他工具和命令来监控jar包的运行状态,例如ps -ef | grep jar命令可以检查jar包是否正在运行。
5. 重启服务器:如果需要,你可以通过执行reboot命令来重启服务器。重启后,计划任务将自动重新加载并继续监控和重启jar包。
6. 查看自启动是否成功:可以通过执行ps -ef | grep jar命令来查看jar包是否自启动成功。如果看到相应的进程正在运行,那么自启动就成功了。
请注意,以上步骤假设你已经在Linux系统上安装了Java运行环境和相关工具。此外,你还需要具有适当的权限来执行脚本和配置计划任务。