码迷,mamicode.com
首页 > 其他好文 > 详细

ping不通服务器就邮件警告

时间:2019-11-10 09:33:18      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:dev   直接   邮件内容   rip   基础   实时   手机   bash   网站   

ping不通服务器就发一封邮件 (单台)

vim /root/scipt/1.sh

#!/bin/bash
ping -c 4 192.168.0.116 &> /dev/null #ping 4个包且不在终端显示输出
code=$?
if [ "$code" -ne "0" ];then #每个命令成功执行后都会返回$?=0,-ne为不等于
date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S") #时间,格式为“年-月-日_时:分:秒”
echo "116 Server machine is down ${date}" | /bin/mail -s "Server 192.168.0.116" 18210*****@139.com #echo部分为警告邮件内容,/bin/mail 调用本地邮件服务,-s后面跟邮件主题,最后是邮箱
fi

  

注:139邮箱有个邮件短信实时通知功能,免费的,把那个功能开启,当收到邮件时手机也能实时显示邮件内容

 

ping不通服务器就发一封邮件 (多台服务器,IP相连的)

vim /root/scipt/2.sh

#!/bin/bash
for i in $(seq 111 121) 或 for (i=111,i<121,i++) #这一句两种写法
do
ping -c 4 112.xxx.xxx.$i &> /dev/null
code=$?
if [ "$code" -ne "0" ];then
date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")
echo "112.xxx.xxx.$i Server machine is down ${date}" | /bin/mail -s "Server 112.xxx.xxx.$i" 18210*****@139.com #$i变量会自动切换
fi
done

  

ping不通网站就发一封邮件

vim /root/scipt/3.sh

#!/bin/bash
ping -c 4 www.abc.com > /dev/null
code=$?
if [ "$code" -ne "0" ];then
echo "Destination abc Unreachable" | /bin/mail -s "abc web" 18210*****@139.com
fi

  

最后做个任务计划,让其每隔5分钟执行一次

#crontab -e #crontab 为直接覆盖原来的任务计划,而crontab -e 为在原来基础上进行增加

*/5 * * * * /root/script/1.sh

*/5 * * * * /root/script/2.sh

*/5 * * * * /root/script/3.sh

# "* * * * *--分、小、日、月、星" ,*/5代表每5分钟


那要是对一个网段内进行ping呢

#!/bin/bash

for ((i=1;<255;i++))
do
ping -c 1 192.186.1.$i
done

  

=======================================================

ping不通服务器就邮件警告

标签:dev   直接   邮件内容   rip   基础   实时   手机   bash   网站   

原文地址:https://www.cnblogs.com/eos666/p/11828653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!