当服务内存溢出或其他一些原因,导致程序停止运行,服务不可用,为了服务能够及时自动重启,记录一下操作过程!
首先编写自动重启的脚本指令,脚本在服务器上编写的,最后不要写好txt文件,然后更改后缀避免文件格式问题
1. 首先在服务器用执行一下命令, 没有文件会自动创建的
vi check_restart_demoapp.sh
文件名随便取,文件目录最好跟你的 jar 包路径一致,我这里是 /usr/local/applications 目录下
2. 进入文件后,按住 i ,将以下内容更改成你自己的信息然后复制进文件中
#!/bin/bash
app_name="你的springboot jar包的名字: 如:demosp"
ps_result=$(ps -ef | grep java - jar | grep $app_name)
if [ -z "$ps_result" ]; thenecho "Restarting $app_name..."这里是你要执行启动服务的脚本命令 如: sh /usr/local/applications/bin/hjh-startUp.sh restart amp-web
elseecho "$app_name is already running."
fi
注意 app_name 需要替换成你自己的, 执行的脚本命令,也要换成你自己的
3. 设置脚本权限
chmod +x /usr/local/applications/check_restart_demo.sh
路径是你脚本存放的路径
4. 编辑当前用户的 crontab 文件(root用户)
crontab -e
将以下类容复制进去
*/3 * * * * /usr/local/applications/check_restart_amp.sh >> /usr/local/applications/cron.log 2>&1
每 3 分钟执行一次,执行脚本的路径,日志输出的文件路径
然后检查信息
到此脚本编写完成,进行验证,当服务停止后,会自动重启,正在运行不会进行重启操作