Shell指令碼監控伺服器線上狀態和郵件警示的方法_linux shell

來源:互聯網
上載者:User

對於伺服器來說線上率很重要,出現問題要能及時解決,但系統管理員不能一直守在電腦旁邊,通過指令碼監控網站出現問題及時通過mail通知管理員,如果是139郵箱還可免費手機簡訊通知。
註:通過系統直接發送mail容易被攔截,可使用mail串連第三方smtp發送郵件。

shell指令碼實現代碼:

複製代碼 代碼如下:

#!/bin/bash
#set -x
while true
do
 list=(www.jb51.net 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不通,能開啟網頁。
   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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.