對于服務器來說在線率很重要,出現問題要能及時解決,但系統管理員不能一直守在電腦旁邊,通過腳本監控網站出現問題及時通過mail通知管理員,如果是139郵箱還可免費手機短信通知。
注:通過系統直接發送mail容易被攔截,可使用mail連接第三方smtp發送郵件。
#!/bin/bash
#set -x
while true
do
list=(www.companysz.com s.VeVB.COm)
[email protected] date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S")
i=0
id=${#list[*]}
while [ $i -lt $id ]
do
if ping -c1 ${list[$i]} >/dev/null
then
echo $date:服務器${list[$i]}能ping通。
else
if curl -m 10 ${list[$i]} > /dev/null
then
echo $date:服務器${list[$i]} ping不通,能打開網頁。
else
echo "您好,據系統監測服務器${list[$i]}不能訪問且ping不通,請及時處理!故障發生時間:$date"|mail -s "服務器${list[$i]}不能連接! 故障發生時間:$date" $mail
until
date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S")
ping -c1 ${list[$i]} >/dev/null && echo "恭喜!服務器${list[$i]}已恢復正常,恢復時間:$date"|mail -s "服務器${list[$i]}已恢復正常! 恢復時間:$date" $mail
do
sleep 5
done
fi
fi
let i++
done
sleep 60
done