• ping不通服务器就邮件警告


    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
    

      

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

  • 相关阅读:
    Spring Boot 应用监控
    学习学习SpringSecurity
    Spring Cloud 简介
    thinkphp 请求
    八、主从复制
    七、AOF 持久化
    五、五大数据类型实现原理
    六、RDB 持久化
    四、redis的底层数据结构
    三、五大数据类型详细用法
  • 原文地址:https://www.cnblogs.com/eos666/p/11828653.html
Copyright © 2020-2023  润新知