企業級-Shell案例8——批量檢測網站是否異常並郵件通知

批量檢測網站是否異常腳本

檢測網站運行是否正常,如果不能正常訪問,發送郵件通知管理員

curl -o /de/dev/null -s -w "%{http_code}" www.baidu.com

訪問失敗,也又可能和網絡等等原因有關。

所以我們要進行次數判斷,超出一定的次數。那就發送郵件。

腳本編寫

#!/bin/bash  
URL_LIST="www.baidu.com www.ctnrs.com www.der-matech.net.cn www.der-matech.com.cn www.der-matech.cn www.der-matech.top www.der-matech.org"
for URL in $URL_LIST; do
    FAIL_COUNT=0
    for ((i=1;i<=3;i++)); do
        HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $URL)
        if [ $HTTP_CODE -eq 200 ]; then
            echo "$URL OK"
            break
        else
            echo "$URL retry $FAIL_COUNT"
            let FAIL_COUNT++
        fi
    done
    if [ $FAIL_COUNT -eq 3 ]; then
        echo "Warning: $URL Access failure!"
		echo "網站$URL壞掉,請及時處理" | mail -s "$URL網站高危" [email protected]
    fi
done

測試效果圖

在設置個定時任務,10分鐘一次。

然後就可以了。

相關博文:

 企業級-Shell案例1——服務器系統配置初始化

企業級-Shell案例2——發送告警郵件

企業級-Shell案例3——批量創建多個用戶並設置密碼

企業級-Shell案例4——一鍵查看服務器利用率

企業級-Shell案例5——找出佔用CPU 內存過高的進程

企業級-Shell案例6——查看網卡的實時流量

企業級-Shell案例7——監控多臺服務器磁盤利用率腳本

企業級-Shell案例8——批量檢測網站是否異常並郵件通知

企業級-Shell案例9——批量主機遠程執行命令腳本

企業級-Shell案例10——一鍵部署LNMP網站平臺腳本

企業級-Shell案例11——監控MySQL主從同步狀態是否異常腳本

企業級-Shell案例12——MySql數據庫備份腳本

企業級-Shell案例13——Nginx訪問日誌分析

企業級-Shell案例14——Nginx訪問日誌自動按天(周、月)切割

企業級-Shell案例15——自動發佈Java項目(Tomcat)

企業級-Shell案例16——自動發佈PHP項目

企業級-Shell案例17——DOS攻擊防範(自動屏蔽攻擊IP)

企業級-Shell案例18——目錄入侵檢測與告警

發佈了189 篇原創文章 · 獲贊 45 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章