单个服务器监控

监控远程的一台机器(假设ip为192.168.1.100)的存活状态,当发现宕机时发一封邮件给你自己

#!/bin/bash
#name:南宫乘风
#email:heian99@163.com
ip="192.168.1.100"
while true ; do
    # 利用ping检查主机是否存活
    ping -c 4 $ip > /dev/null 2> /dev/null
    if [ $? != "0" ]; then
        # 失败提示,可以通过邮件发送信息(mailx)
        echo "$ip已经挂掉"
        #echo "服务器$ip坏掉,请及时处理" | mail -s "$ip服务器挂掉" 1794748404@qq.com
    else
        echo "$ip正常"
    fi
    sleep 3s
    
done

批量服务器监控

监控多台服务器,可以使用文本记录ip或者使用数组

#!/bin/bash
#name:南宫乘风
#email:heian99@163.com
#此处也可以使用文本,写入ip地址
#ip=$(cat /data/ip.txt)
ip="192.168.1.100 192.168.1.111 192.168.1.99"
while true ; do
    for i in $ip; do
    # 利用ping检查主机是否存活
    echo "$i"
    ping -c 4 $i > /dev/null 2> /dev/null
    if [ $? != "0" ]; then
        # 失败提示,可以通过邮件发送信息(mailx)
        echo "$i已经挂掉"
        #echo "服务器$i坏掉,请及时处理" | mail -s "$i服务器挂掉" 1794748404@qq.com
    else
        echo "$i正常"
    fi
    sleep 3s      
    done 
done