centOS8定时任务监控tomcat运行状态,挂了自动启动

1,首先查看crond是否已安装

crond是定时任务监控服务,centos8默认是已经安装了的,可以通过whereis crond或者systemctl status crond.service或者crond -V查看是否已经安装,若是什么都没有查到,那就是没有安装。没有安装的话直接通过dnf install crond,系统会自动安装。

2,编辑监控脚本,并传送到服务器中

新建一个记事本文件,将以下脚本复制记事本中,将记事本另存为monitor.sh脚本文件,然后通过Xftp工具将该脚本文件复制到文件夹/home/monitor中。

#!/bin/sh  
# function:自动监控tomcat进程,宕机就执行重启操作     
  
# 获取tomcat PPID  
pid=$(ps -ef|grep apache-tomcat-8.5.51|grep -v grep | awk '{print $2}') 
  
# tomcat_startup  
#例如我的Tomcat安装路径:/usr/java/tomcat/apache-tomcat-8.5.51,如何查安装路径:sudo find / -name *tomcat*
startTomcat=Tomcat安装路径/bin/startup.sh  
stopTomcat=Tomcat安装路径/bin/shutdown.sh
step=3 #间隔的秒数,不能大于60,关闭与启动的间隙时间值 
   
# 日志输出  
monitorLog=/home/monitor/logs/monitor.log 

Monitor()  
{  
  echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"  
  echo "[info]tomcat进程ID为:$pid. " 
  if [ -n "$pid" ];then  
    echo "[info]tomcat进程ID为:$pid. 运行正常" 
  else  
    echo "[error]进程不存在! Tomcat自动重启..."  
    echo "[info]$stopTomcat, 关闭Tomcat"
    $stopTomcat
    sleep $step 
    echo "[info]$startTomcat, 开启Tomcat"
    $startTomcat  
  fi  
  echo "------------------------------"  
}  
Monitor>>$monitorLog

3,为监控脚本monitor.sh添加可执行权限

Xshell定位到monitor.sh的目录下,然后执行命令:

chmod u+x monitor.sh

备注: chmod是权限管理命令、u代表所有者、x代表执行权限、 + 表示增加权限

4,配置定时任务

3.1 执行:crontab -e,进入后按insert进编辑模式
3.2 添加如下内容,下面是一分钟执行一次

* * * * *  sleep 1; /home/monitor/monitor.sh

3.3 按Esc,:wq,保存并退出
3.4 查看定时任务:crontab -l
3.4 重启定时任务:systemctl start crond

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页