标签:信息 ror bash sort 服务 curl dev 变量 邮件
#!/bin/bash # source ~/.bash_profile ## curl -m 8 -s -o /dev/null --retry-max-time 8 -w %{http_code} $url check_httpd (){ status_code=$(curl -m 20 -s -o /dev/null -w %{http_code} $url) } ##定义时间变量 date=$(date +%Y/%m/%d-%H:%M:%S) ##把前一个的循环置空,并输入当前时间 ## echo "0当前时间:$date" > /usr/local/zhicbo/000.txt echo "0当前时间:$date" > /usr/local/zhicbo/302.txt echo "0当前时间:$date" > /usr/local/zhicbo/error.txt #做循环 for url in `cat /usr/local/zhicbo/yuming.txt` do { check_httpd #指定测试服务器状态的函数,并根据返回码决定是发送邮件报警还是将正常信息写入日志 if [ $status_code -eq 200 ] || [ $status_code -eq 301 ];then continue elif [ $status_code -eq 302 ];then echo $url >> /usr/local/zhicbo/302.txt elif [ $status_code -eq 000 ];then echo $url >> /usr/local/zhicbo/000.txt else # [ $status_code -ne 200 ] || [ $status_code -ne 301 ] || [ $status_code -ne 302 ] || [ $status_code -ne 000 ];then echo $url域名异常,状态码为$status_code >> error.txt fi }& #done < /sh/yuming.txt done sleep 10 wait echo "success" ##给导入的文件排序 ## sort -n /usr/local/zhicbo/000.txt -o /usr/local/zhicbo/000.txt sort -n /usr/local/zhicbo/302.txt -o /usr/local/zhicbo/302.txt && sort -n /usr/local/zhicbo/error.txt -o /usr/local/zhicbo/error.txt status_000=`wc -l /usr/local/zhicbo/000.txt|awk ‘{print $1}‘` status_error=`wc -l /usr/local/zhicbo/error.txt|awk ‘{print $1}‘` # if [ $status_000 -lt 25 ];then # mail -s "000状态,网络不可达,域名无法监控到位:" bs1159780413@qq.com < /usr/local/zhicbo/000.txt # fi if [ $status_error -gt 1 ];then mail -s "网络异常,请检查" bs1159780413@qq.com < /usr/local/zhicbo/error.txt # && mail -s "域名监测警报:" 75507159@etlgr.com < /usr/local/zhicbo/error.txt fi
标签:信息 ror bash sort 服务 curl dev 变量 邮件
原文地址:https://www.cnblogs.com/yeyu1314/p/10176357.html