实验环境:
系统: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服务验证日志输出
注:如果之前已经产生日志,可以将服务先开启,在将日志删除,然后再这样验证。