初写shell脚本 ,实现centos系统检测tomcat启动状态

shell脚本命令解释(待扩展):

#!/bin/sh    

//制定shell 脚本运行环境;

ps -ef | grep $TomcatName | grep -v 'grep' | awk '{print $2}'

首先用ps -ef | grep tomcat 获得了tomcat进程信息,这样出来的结果中会包含grep本身,
因此通过 | grep -v grep 来排除grep本身,然后通过 awk '{print $2}'来打印出要找的进程id号;

curl -I -m 10 -o $GetPageInfo -s -w %{http_code} $WebUrl

获取请求返回值。

 

tomcat启动监测和自启动脚本

#!/bin/sh
#tomcat 自启动脚本
#author:cj
#date:2019-07-05
# tomcat包名称
TomcatName=tomcat

#获取tomcat进程id
TomcatID=$(ps -ef | grep $TomcatName | grep -v 'grep' | awk '{print $2}')

#tomcat启动程序(tomcat的启动路径,)
StartTomcat=/home/tomcat/bin/startup.sh
TomcatCache=/opt/tomcat/work

#定义要监控的页面地址(tomcat启动可访问页面)
WebUrl=http://localhost:8080/tomcat

#日志输出
GetPageInfo=/opt/tomcat/logs/TomcatMonitor.Info
TomcatMonitorLog=/opt/tomcat/logs/TomcatMonitor.log

Monitor()
{
echo "[info]开始监控tomcat:$TomcatName...[$(date +'%Y-%m-%d %H:%M:%S')]"
if [ $TomcatID ];then
        echo "[info]当前tomcat进城id为:$TomcatID,继续监测页面..."
        # 获取请求响应码
        TomcatServiceCode=$(curl -I -m 10 -o $GetPageInfo -s -w %{http_code} $WebUrl)
        if [ $TomcatServiceCode -eq 200 ];then
                echo "[info]页面返回码为:$TomcatServiceCode,tomcat启动成功,页面测试正常"
        else
                echo "[error]tomcat页面出错,请注意...状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
                echo "[error]页面访问出错,开始重启tomcat"
                # 杀掉原tomcat进程
                kill -9 $TomcatID
                sleep 3
                # 清理tomcat缓存
                rm -rf $TomcatCache
                $StartTomcat
                echo "[info]tomcat重启成功"
        fi
else
        echo "[error]tomcat进程不存在,开始自动重启..."
        echo "[info]$StartTomcat,请稍候..."
        rm -rf $TomcatCache
        $StartTomcat
        echo "[info]tomcat 启动成功"
fi
echo "................."
}
Monitor>>$TomcatMonitorLog

 

监控结果显示:

 

相关链接地址:

Linux下shell脚本监控Tomcat的状态并实现自动启动

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值