使用Shell脚本的方式监控WEB服务状态

实际工作中我们需要知道部署在服务器上的应用有没有问题,但是人为的操作太麻烦,最简单的方式就是sehll脚本的方式,下面为大家分享一下使用Shell脚本监控WEB服务状态具体方法。

安装sendmail来发邮件

# yum -y install sendmail

# /etc/init.d/sendmail start

# chkconfig sendmail on

安装mutt邮件客户端,并设置相关信息

# yum -y install mutt

# vim /etc/Muttrc

set charset="utf-8"           #设置发邮件编码

set envelope_from=yes

set rfc2047_parameters=yes    #解决附件乱码问题

set realname="报警"           #发件人别名

set use_from=yes              #指定是否显示别名

set [email protected]     #发送人地址

脚本如下

#!/bin/bash
Mail="[email protected]"
FailCount=0
Retval=0 GetUrlStatus() { for ((i=1;i#使用i++判断访问次数,如果wget两次超时则判断网站异常
do
wget -T 3 --tries=1 --spider http://${1} >/dev/null 2>&1  #-T超时时间,--tries尝试1次,--spider蜘蛛
[ $? -ne 0 ] && let FailCount+=1; #访问超时时,$?不等于0,则FailCount加1
done
if [ $FailCount -gt 1 ];then
Retval=1
Date=`date +%F" "%H:%M`  echo -e "Date : $Date Problem : $url is not running." | mutt -s "URL Monitor" $Mail
else
Retval=0 fi
return $Retval  #如果返回值为0,就正常退出循环,不为0则继续循环
}for url in `cat url | sed '/^#/d'`do
#GetUrlStatus $url && echo yes || echo no
GetUrlStatus $urldonesleep 2m   #死循环,设置没2分钟运行一次don

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/11119.html

(0)
晴川运维晴川运维
上一篇 2025年6月30日
下一篇 2025年6月30日

相关推荐

  • Linux Mint 安装 Linux Kernel 4.12

    Linus Torvalds 发布了 Linux 内核 4.12。你可以从这里直接下载相关的 deb 包来安装。或者,继续阅读本文,按下面的步骤安装新内核。 警告:Linux 内核…

    Linux系统 2025年6月17日
  • Oracle数据库基本使用方法

    Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了…

    Linux系统 2025年6月23日
  • Linux面试命令问答

    问:1 如何查看当前的Linux服务器的运行级别? 答: ‘who -r’ 和 ‘runlevel’ 命令可以用来查看当前的Linux服务器的运行级别。 问:2 如何查看Linux…

    Linux系统 2025年6月13日
  • 选择云计算数据库需要注意的几个方面

    关系数据库的应用已经有了半个世纪的历史,其各种子类别(如文档、键值数据库和缓存数据库)是IT领域中长期存在的部分。很多人可能会认为数据库创新的时代已经过去了。但是,云计算基础设施和…

    Linux系统 2025年6月25日
  • 如何在 Linux 上用 Fail2Ban 保护服务器免受暴力攻击

    linux 管理员的一个重要任务是保护服务器免受非法攻击或访问。 默认情况下,Linux 系统带有配置良好的防火墙,比如iptables、Uncomplicated Firewal…

    Linux系统 2025年6月16日
  • PowerShell文件夹共享及磁盘映射

    PowerShell是一种功能强大的脚本语言和shell程序框架,主要用于Windows计算机方便管理员进行系统管理并有可能在未来取代Windows上的默认命令提示符,下面为大家详…

    Linux系统 2025年6月4日
  • Linux中Postfix反病毒和垃圾邮件工具(十)

    amavisd-new amavisd-new呼叫器是一个连接MTA和内容检测工具(诸如病毒扫描工具和SpamAssassin)的高性能接口程序,使用perl语言写成。它一般通过S…

    Linux系统 2025年6月28日
  • Linux下部署RAID5具体方法

    RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程…

    Linux系统 2025年6月9日
  • 详解观察者模式

    在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,某种商品的物价上涨时会导致部分商家高兴,而消费者伤心;还有,…

    Linux系统 2025年6月8日
  • Linux下设置开机自动运行

    有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu …

    Linux系统 2025年6月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注