#! /bin/bash #Author=Harry CheckUrl() { #<==定義函數,名字爲CheckUrl timeout=5 #<==定義wget訪問的超時時間,超時就退出 fails=0 #<==初始化訪問網站失敗的次數記錄變量,若失敗達到兩次,就發郵件報警 success=0 #<==初始化訪問網站成功的次數記錄變量,若爲1,則表示成功,退出腳本 while true do wget --timeout=$timeout --tries=://192.168.1.99/harry -q -O /dev/null #<==使用wget測試訪問 if [ $? -ne 0 ] #<==若是上述wget命令執行不成功,即返回值不爲0,則執行if語句內的的指令 then let fails=fails+1 #<==將訪問失敗的次數加1,這個就是let的用法,能夠用((fails=fails+1))代替 else let success+=1 #<==返回值不爲0則不成立,即訪問成功,將成功的次數加1 fi if [ $success -ge 1 ] #<==若是成功的次數大於等於1 then echo success #<==打印訪問成功 exit 0 fi if [ $fails -ge 2 ] then Critical="sys is down." echo $Critical|tee|mail -s "$Critical" 1505196767@qq.com #<==輸出併發送郵件報警 exit 3 fi done } CheckUrl #<==執行函數