Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)
生活随笔
收集整理的這篇文章主要介紹了
Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#前提已經(jīng)可以通過mail或mutt客戶端發(fā)郵件
1.先安裝sendmail來發(fā)郵件
??#?yum?-y?install?sendmail#?/etc/init.d/sendmail?start#?chkconfig?sendmail?on2.再安裝郵件客戶端
???#?yum?-y?install?mutt? 2.1 為了更好在郵件中顯示,設(shè)置mutt客戶端發(fā)送信息
??#?vim?/etc/Muttrcset?charset="utf-8"???????????#設(shè)置發(fā)郵件編碼set?envelope_from=yesset?rfc2047_parameters=yes????#解決附件亂碼問題set?realname="報警"???????????#發(fā)件人別名set?use_from=yes??????????????#指定是否顯示別名set?from=monitor@test.com?????#發(fā)送人地址方法1、通過加失敗計數(shù)器來判斷(誤報率低)
#!/bin/bash DATE=`date?+%F"?"%H:%M` IP=/root/monitor/ip.txt?????#ip地址表 MAIL=zhenliang369@163.com for?ip?in?$(cat?$IP?|?sed?'/^#/d') dofor?((i=1;i<=3;i++))doping?-c?1?$ip?&>/dev/null[?$??-ne?0?]?&&?let?FailCount+=1;done done [?-z?$FailCount?]?&&?FailCount=0??#當(dāng)ping都正常時,FailCount值為空,就設(shè)置FailCount值為0,用整數(shù)比較 if?[?$FailCount?-eq?2?];then#echo?"$IP?ping?is?failed."echo?-e?"Date?:?$DATE\nHost?:?$ip\nProblem?:?Ping?is?failed,?Please?check?!?!?!"?|?mutt?-s?"Ping?Monitor"?$MAIL fi#添加任務(wù)計劃
# crontab -e
*/1 * * * * /root/monitor/ping.sh
done方法二、通過ping一個包的狀態(tài)判斷(誤報率低,建議此方法)
#!/bin/bash MAIL="baojingtongzhi@163.com?huangxiaohong@loongtao.com" for?ip?in?$(cat?ip_list|sed?"/^#/d")????#ip_list是當(dāng)前目錄下IP表doping?-c?1?$ip?&>/dev/null????????????#三個ping有一個能通,說明服務(wù)器正常a=$?sleep?2ping?-c?1?$ip?&>/dev/nullb=$?sleep?2ping?-c?1?$ip?&>/dev/nullc=$?sleep?2DATE=$(date?+%F"?"%H:%M)if?[?$a?-ne?0?-a?$b?-ne?0?-a?$c?-ne?0?];thenecho?-e?"Date?:?$DATE\nHost?:?$ip\nProblem?:?Ping?is?failed."?|?mail?-s?"Ping?$ip?failed?From?255.252"?$MAIL#else#????echo?"$ip?ping?is?successful."fi done方法三、通過丟包率來判斷是否正常(誤報率高)
#!/bin/bash while?true doDATE=`date?+%F"?"%H:%M`MAIL="zhenliang369@163.com"for?ip?in?$(cat?ip_list|sed?"/^#/d")???????#ip_list是當(dāng)前目錄下IP表?donum=$(ping?-c?2?$ip?|grep?"100%?packet?loss"?|wc?-l)????if?[?$num?==?1?];thenecho?-e?"Date?:?$DATE\nHost?:?$i\nProblem?:?Ping?is?failed."?|?mail?-s?"Ping?$i?failed?From?255.252"?$MAILfidone sleep?30 done
總結(jié)
以上是生活随笔為你收集整理的Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring IOC 注入方式
- 下一篇: 数学图形之克莱因瓶(klein bott