Linux 实时监控tomcat服务脚本

如何实现在Linux中使用shell脚本实时监控启动的tomcat服务同时实现宕机自动重启?

    我们可以使用crond帮助我们实现,废话不多说直奔主题:

    首先确定你的系统上安装了crond:

    使用service crond status 查看crond的服务状态:

    service crond start 启动crond服务:

    如果没有安装crond请使用:

    yum install vixie-cron 和yum install crontabs 安装;

    以上准备完毕后:

    编写你的监控脚本:

#!/bin/bash
array=("8030" "8050" "8060") #我的一台主机上安装了多个服务使用自定义数据确定要获取的PID
tomcatPath=/data/apache-tomcat- #tomcat解压路径前缀
ip=192.168.1.119:                              #本机服务器ip
pageInfo=/data/tmp/tomcatMonitor.info #监控时产生的页面


for data in ${array[@]}   #for循环获取目标tomcat服务
do

        #获取服务的状态码

stateCode=$(curl -s -w "%{http_code}" -o ${pageInfo} --connect-timeout 10  "${ip}${data}")

if [ $stateCode -eq 200 ];then
echo "端口号为${data}的服务启动状态为${stateCode}"
else
echo "[error]tomcat服务异常状态码为[${stateCode}],详情查看/data/tmp/tomcatMonitor.info"
PID=$(ps -ef|grep "${data}"|grep -v grep|awk '{print $2}')
kill -9 ${PID}
if [ ! -d ${tomcatPath}${data} ];then
ehco "${tomcatPath}${data}目录不存在"
else
echo "启动服务"
${tomcatPath}${data}/bin/startup.sh
ehco "启动完成"
fi
fi
sleep 1

done

脚本完成。使用chmod 755 脚本.sh 修改脚本的执行权限;

配置自动执行次脚本:

修改文件vi /etc/crontab

可以看到文件内容为:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/


# For details see man 4 crontabs


# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed


* * * * * root 填写自己脚本的绝对路径.sh >> /data/tmp/sh.txt #输出的执行结果

#root 为此文件可执行的用户 ,上述脚本为每分钟执行一次。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值