#定义函数check_http:
#使用curl命令检查http服务器的状态#-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接
#-s设置静默连接,不显示连接时的连接速度、时间消耗等信息
#-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容)
#-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码
#!/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-m5-s-o/dev/null-w%{http_code}$url)while:check_httpdate=$(date+%Y%m%d-%H:%M:%S)#生成报警邮件的内容echo"当前时间为:$date$url服务器异常,状态码为${status_code}.请尽快排查异常." /tmp/http$$.pid#指定测试服务器状态的函数,并根据返回码决定是发送邮件报警还是将正常信息写入日志if[$status_code-ne200];thenmail-sWarningroot /tmp/http$$.pidelseecho"$url连接正常" /var/log/http.logfisleep5done
版权声明:原创作品,如需转载,请注明出处。否则将追究法律责任 脚本 shell http当你能梦的时候就不要放弃梦