博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本:监控HTTP服务的状态(测试返回码)
阅读量:6095 次
发布时间:2019-06-20

本文共 1063 字,大约阅读时间需要 3 分钟。

#定义函数check_http: 

#使用curl命令检查http服务器的状态 #-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接

#-s设置静默连接,不显示连接时的连接速度、时间消耗等信息 

#-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容) 

#-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
#Author:丁丁历险(Jacob)
#设置变量,url为你需要检测的目标网站的网址(IP或域名)
url=http:
//192
.168.4.5
/index
.html
  
#定义函数check_http:
#使用curl命令检查http服务器的状态
#-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接
#-s设置静默连接,不显示连接时的连接速度、时间消耗等信息
#-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容)
#-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码
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

本文转自丁丁历险51CTO博客,原文链接:http://blog.51cto.com/manual/1977834,如需转载请自行联系原作者

你可能感兴趣的文章
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>