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