#!bin/bash
#功能:监控 HTTP 服务器的状态(测试返回码)
#作者:liusingbon
#设置变量,url 为你需要检测的目标网站的网址(IP 或域名)
url=http://192.168.2.1/index.html
#定义函数 check_http
#使用 curl 命令检查 http 服务器的状态
#-m 设置 curl 不管访问成功或失败,最大消耗的时间为 5 秒,5 秒连接服务为相应则视为无法连接
#-s 设置静默连接,不显示连接时的连接速度、时间消耗等信息
#-o 将 curl 下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容)
#-w 设置 curl 命令需要显示的内容%{http_code},指定 curl 返回服务器的状态码
function check_http {
         status_code=$(curl -m 5 -s -o /dev/null -w %{http_code} $url)
            }
while :
do
    check_http
    date=$(date +%Y%m%d-%H:%M:%S)
     #生成报警邮件的内容
    echo "当前时间为:$date
    $url 服务器异常,状态码为${status_code}.
     请尽快排查异常" > /tmp/http$$.pid
     #指定测试服务器状态的函数,并根据返回码决定是发送邮件报警还是将正常信息写入日志
    if  [ $status_code -ne 200 ];then
        mail -s Warning root < /tmp/http$$.pid
    else
        echo "$url 连接正常" >> /var/log/http.log
    fi
    sleep 5
done

最新文章

  1. python序列,字典备忘
  2. IOS之笑脸app
  3. set常见操作:
  4. 记录一次mount问题
  5. 求一个int型整数的两种递减数之和(java)--2015华为机试题
  6. 英语日常词汇:living-room、dining-room vs dining hall
  7. 电话号自动识别之bug解决汇总
  8. c/c++连通图的遍历(深度遍历/广度遍历)
  9. ajax多表单序列化
  10. 【转】33 个 2017 年必须了解的 iOS 开源库
  11. 【LOJ#6280】数列分块4
  12. 编写一个JavaWeb项目
  13. oracle like 条件拼接
  14. web.xml之context-param,listener,filter,servlet加载顺序及其周边
  15. elastic-job 分布式定时任务框架 在 SpringBoot 中如何使用(一)初始化任务并定时执行
  16. 使用OpenCV进行相机标定
  17. 两个有序数组求中位数log(m+n)复杂度
  18. Windows7 64bits下安装TensorFlow CPU版本(图文详解)
  19. 【转】Deep Learning(深度学习)学习笔记整理系列之(三)
  20. bzoj 1224

热门文章

  1. GC、进程和线程的定义
  2. Linux下git安装配置
  3. js事件循环机制
  4. Android签名机制之---签名验证过程详解
  5. ASP汉字转拼音函数的方法
  6. 20180822-Java接口
  7. json和list转换
  8. ConcurrentModificationException异常
  9. HDU6599:求本质不同的子串(回文串)长度及数量
  10. css3的各种属性的讲解