实验环境:

系统:Centos7-3.10.0-x86_64

检测服务:apache-tomcat-9.0.7

实验原因:

因为当前的环境为Java测试环境,所以没有做监控,但是最近发现服务自动宕机了,暂时没有排查到宕机的原因,所以为了方便测试环境的使用,今天简单的写了一个小脚本,来检测tomcat服务,在正常运行的情况下,会输出日志tomcat is running,异常宕机情况下则会输出tomcat is restart并且重新启动tomcat服务。

实验步骤:

1、创建检测tomcat服务是否正常运行的脚本

#!/bin/bash ps aux | grep -v grep | grep java >/dev/null M=$? if [[ $M -eq 0 ]] ;then echo -e "\033[32m tomcat is running \033[0m" date else echo -e "\033[31m tomcat is restart \033[0m" /usr/local/tomcat/bin/startup.sh >/dev/null date fi

2、给予脚本执行权限

chmod +x tomcat.sh

3、创建计划任务

1)查看本地是否安装

rpm -qa | grep crontab

2)安装 crontab命令

yum -y install crontabs

3)启动crontab服务

/bin/systemctl start crond.service

4)设置为开机自启

/bin/systemctl enable crond.service

5)创建计划任务

创建计划任务 crontab -e

查看计划任务 crontab -l 注:以上截图的计划任务为每分钟执行一次脚本,这样写是为了将脚本执行时的具体时间,包括正在运行服务或者重启服务,作为日志输出,方便日后管理和排错。

4、验证计划任务

验证方式:

1)查看日志是否有输出

cat /var/log/tomcat.log

2)关闭tomcat服务验证日志输出

注:如果之前已经产生日志,可以将服务先关闭,在将日志删除,然后再这样验证。

3)开启tomcat服务验证日志输出

注:如果之前已经产生日志,可以将服务先开启,在将日志删除,然后再这样验证。