shell腳本:監控HTTP服務的狀態(測試返回碼)


測試返回碼

#!/bin/bash
#設置變量,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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM