Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)
生活随笔
收集整理的這篇文章主要介紹了
Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#前提已經可以通過mail或mutt客戶端發郵件
1.先安裝sendmail來發郵件
??#?yum?-y?install?sendmail#?/etc/init.d/sendmail?start#?chkconfig?sendmail?on2.再安裝郵件客戶端
???#?yum?-y?install?mutt? 2.1 為了更好在郵件中顯示,設置mutt客戶端發送信息
??#?vim?/etc/Muttrcset?charset="utf-8"???????????#設置發郵件編碼set?envelope_from=yesset?rfc2047_parameters=yes????#解決附件亂碼問題set?realname="報警"???????????#發件人別名set?use_from=yes??????????????#指定是否顯示別名set?from=monitor@test.com?????#發送人地址方法1、通過加失敗計數器來判斷(誤報率低)
#!/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??#當ping都正常時,FailCount值為空,就設置FailCount值為0,用整數比較 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#添加任務計劃
# crontab -e
*/1 * * * * /root/monitor/ping.sh
done方法二、通過ping一個包的狀態判斷(誤報率低,建議此方法)
#!/bin/bash MAIL="baojingtongzhi@163.com?huangxiaohong@loongtao.com" for?ip?in?$(cat?ip_list|sed?"/^#/d")????#ip_list是當前目錄下IP表doping?-c?1?$ip?&>/dev/null????????????#三個ping有一個能通,說明服務器正常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是當前目錄下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
總結
以上是生活随笔為你收集整理的Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring IOC 注入方式
- 下一篇: 数学图形之克莱因瓶(klein bott