简单监控网站访问是否正常的shell脚本,邮件报警。网站恢复后继续运行。

#!/bin/bash
# 使用curl检查网页是否可以正常访问,如果无法访问则发邮件。

SITE=crm.bjzgjh.com
PROT=80
URL="http://$SITE:$PROT"
#mail_info
email_sender=([email protected] [email protected])
email_title="$SITE端口$PROT故障警告!!!"
email_content="主机$SITE:$PROT不通!请及时处理。 \n监控邮件,不必回复"
time=3

check_once()
{
        echo
        echo "$(date)  monitor check once"
        # 2018.03.09 -I/--head -s/--silent
        #if curl -s -I --connect-timeout 5 --max-time 10 http://localhost:$1/; then
        if curl -s -I -L --connect-timeout 5 --max-time 10 $URL | grep -q ‘200 OK‘;   

	then
                echo "$(date)  web maybe OK"
		time=3
        else   

                echo "$(date)  web maybe FAILURE"  

		if [ $time -gt 0 ];
		then
		notify_error
		((time = time-1))
		fi

		echo "$(date)  mail send OK"
        fi
}   

#故障邮件报警
notify_error()
{

	for var in ${email_sender[@]};
	do
		echo --------------------------------------------
		echo -e `date +"%Y-%m-%d %H:%M.%S"` $email_content | /bin/mail -s $email_title $var
	done
}

# 每隔一分钟检查一次网页是否正常
while true;
do
	sleep 60
	check_once >> /root/logs/check.$(date +%Y-%m-%d).log
done

  

参考链接:https://www.cnblogs.com/dim2046/p/5913701.html

原文地址:https://www.cnblogs.com/zhaohonghao-blog/p/8534867.html

时间: 2024-08-08 16:28:37

简单监控网站访问是否正常的shell脚本,邮件报警。网站恢复后继续运行。的相关文章

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警 监控端配置:(192.168.4.5) 1基础环境:(实验环境可以关闭防火墙,但生产环境不能关闭,否则不安全,要设置相应规则) [[email protected]桌面]# /etc/init.d/iptables stop [[email protected]桌面]# setenforce 0 2搭建lamp平台,(它运行在lamp平台上) [[email protected]桌面]# yum -y install htt

Zabbix监控 之sendEmail脚本邮件报警配置【5】

本次zabbix邮件报警时通过sendEmail这一个轻量级的命令行的smtp电子邮件客户端,使用脚本的方式实现邮件报警. 此次使用的Linux发行版是CentOS 6.5,zabbix版本为3.0.3 Zabbix监控之不发送邮件异常[附属] 一.下载sendEmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz sendEmail安装方法: 1 2 3 shell# tar xv

nagios监控服务出现FLAPPING状态时无法发出邮件报警信息

1.服务出现FLAPPING状态时无法发出邮件报警信息[1409537279] SERVICE ALERT: rs-07;Memory;CRITICAL;HARD;2;Connection refused by host[1409537279] SERVICE FLAPPING ALERT: rs-07;Memory;STARTED; Service appears to have started flapping (28.2% change >= 20.0% threshold) 2.原因:f

Linux/Unix shell 脚本监控磁盘可用空间

Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少.下面是给出的一个监控磁盘空间空间shell脚本的样本,供大家参考. 1.监控磁盘的空闲空间shell脚本 [python] view plain copy print? [email protected]:~/dba_scripts/custom/bin> more ck_fs_space.sh #!/bin/bash # --------------------------------------------

常用的主机监控Shell脚本

最近时不时有朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能细化主机监控的全面性. 下面是我常用的几个主机监控的脚本,大家可以根据自己的情况在进行修改,希望能给大家一点帮助. 1.查看主机网卡流量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/bin/bash #!/bin/bash #network #Mi

小鸟初学Shell编程(二)编写简单的Shell脚本

Shell脚本 编写Python.PHP脚本通常需要掌握语言的函数,那么Shell脚本则不需要,只需要掌握Linux命令就可以编写Shell脚本,因为Shell脚本就是由多个Linux命令组成,通过将多个Linux命令组合保存成一个脚本文件,可直接给其他人使用. 组合命令 进入一个目录,查看目录的文件,这个过程分别需要执行两条命令,分别是cd 和ls. 分开执行两个命令的形式如下: [[email protected] usr]# cd /usr/ [[email protected] usr]

Linux生产服务器Shell脚本分享

Linux生产服务器Shell脚本分享 2012-6-6 86市场网 linux 作为一名Linux/unix系统管理员,我经常遇到人问这个问题:shell能做什么?PHP这么强大,为什么不用PHP来完成工作呢?其实相对于PHP这些开发语言而言,shell主要用于数据库备份(SVN备份).计划任务(crontab).服务状态监控.FTP远程备份等.对于这些任务,shell的强大是大家都公认的,这也是每一个Linux/unix系统管理员的基本之一.现在在Windows 2008里也出现了Power

Shell脚本基础介绍

shell基础简介: 编写脚本通常使用某种基于解释器的编程语言.而shell脚本不过就是一些文件,我们能将一系列需要执行的命令写入其中,然后通过shell来执行这些脚本. 进入Linux系统(Ubuntu),打开终端Terminal,"$"表示普通用户,"#"表示超级用户.其实此时打开的即为shell终端.注意:Redhat/CentOS系统默认安装的shell是bash,它是sh的增强版,Ubuntu默认安装的shell是dash.通过执行:$ ll  /bin/

Shell脚本编程规范与变量

主要内容 Shell脚本编程规范 Shell脚本应用场景 Shell编程规范 管道与重定向 Shell脚本变量 自定义变量 特殊变量 Shell脚本概述 Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件 给该文件可执行权限,便可运行 可结合各种Shell控制语句以完成更复杂的操作 Shell脚本应用场景 重复性操作 批量事务处理 自动化运维 服务运行状态监控 定时任务执行 编写第一个Shell脚本 1.编写脚本代码 使用vim文本编辑器,每行一条Linux命令, 按执行顺序依次编写: