shell脚本之检测nginx网站状态
curl常用有效名称
名称 | 含义说明 |
---|
http_code | HTTP状态码 |
local_ip | 本地ip地址 |
local_port | 本地端口号 |
remote_ip | 远程ip地址 |
remote_port | 远程端口 |
size_download | 下载数据的总字节数 |
speed_download | 平均每秒下载速度 |
time_total | 完成一次连接请求的时间 |
使用%{}调用 | 使用%{}调用 |
#!/bin/bash
#Author:hejing
#Date:2021-7-22
#Description:监测网站的nginx的状态,与网页的hash值,判断网站是否运行正常
#curl选项说明:
#-m 设置超时时间,-s 静默连接
#-o 下载数据另存为,-w 返回附加信息,http状态码
#使用上一个一键部署nginx脚本,已经搭建好了nginx网站
url=http://172.30.204.109
date=$(date +"%Y-%m-%d %H:%M:%S")
status_code=$(curl -m 3 -o /dev/null -w %{http_code} $url)
source_hash="e3eb0a1df437f3f97a64aca5952c8ea0"
url_hash=$(curl -s $url | md5sum | cut -d " " -f 1)
mail_to="root@localhost"
mail_subject="http_warning"
#使用<<-重定向可以忽略tab键缩进的内容
if [ $status_code -eq 200 ];then
cat >> /var/log/http_check.log <<-EOF
$date "$url页面访问正常"
EOF
else
mail -s $mail_subject $mail_to <<-EOF
检测时间为:$date
$url页面异常,服务器返回状态码:$status_code
请尽快排查异常
EOF
fi
if [ $url_hash == $source_hash ];then
cat >> /var/log/http_check.log <<-EOF
$date "$url页面内容正常,无篡改!"
EOF
else
mail -s $mail_subject $mail_to <<-EOF
检测时间为:$date
数据完整校验失败,$url页面数据被篡改!
请尽快排查异常!
EOF
fi