本篇內(nèi)容主要講解“如何實現(xiàn)用Shell腳本監(jiān)控服務器在線狀態(tài)和郵件報警”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何實現(xiàn)用Shell腳本監(jiān)控服務器在線狀態(tài)和郵件報警”吧!
成都創(chuàng)新互聯(lián)服務項目包括襄州網(wǎng)站建設、襄州網(wǎng)站制作、襄州網(wǎng)頁制作以及襄州網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,襄州網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到襄州省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!對于服務器來說在線率很重要,出現(xiàn)問題要能及時解決,但系統(tǒng)管理員不能一直守在電腦旁邊,通過腳本監(jiān)控網(wǎng)站出現(xiàn)問題及時通過mail通知管理員,如果是139郵箱還可免費手機短信通知。
注:通過系統(tǒng)直接發(fā)送mail容易被攔截,可使用mail連接第三方smtp發(fā)送郵件。
shell腳本實現(xiàn)代碼:
代碼如下:
#!/bin/bash
#set -x
while true
do
list=(www.yisu.com s.jb51.net)
mail=jmj@jb51.net
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不通,能打開網(wǎng)頁。
else
echo "您好,據(jù)系統(tǒng)監(jiān)測服務器${list[$i]}不能訪問且ping不通,請及時處理!故障發(fā)生時間:$date"|mail -s "服務器${list[$i]}不能連接! 故障發(fā)生時間:$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
到此,相信大家對“如何實現(xiàn)用Shell腳本監(jiān)控服務器在線狀態(tài)和郵件報警”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!