shell脚本检测服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本检测服务相关的知识,希望对你有一定的参考价值。

实验环境:

系统: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 "33[32m tomcat is running 33[0m"
date
else
echo -e "33[31m tomcat is restart 33[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服务验证日志输出

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

以上是关于shell脚本检测服务的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本检测服务

Linux系统shell脚本之检测两台服务器指定目录下的文件一致性

Linux Shell 脚本:如何检测 NFS 挂载点(或服务器)已死?

Linux的shell脚本的语句,函数,检测服务,启动脚本的练习

shell脚本-切换软链接文件(nagios监控)

shell脚本检测监控mysql的CPU占用率