ping内网服务器 新

#!/bin/bash

ip="192.168.1."
lastip=(
200
201
202
210
211
212
220
221
222
) #ip列表 可以继续添加

ps () {

ping $ip$1 -c 2 -w 2 |grep -q "ttl" #最多ping2次 时间2秒内 2秒实测ping2次 ping不通2秒自动停止

if [ $? -eq 0 ];then ###
echo "ping $ip$1 pass"   ###通
else ###    不通
ping 192.168.1.253 -c 2 -w 2 |grep -q "ttl" #本机ping网关 测试目的:防止本机脱离局域网


if [ $? -eq 0 ];then ## 内网通
echo "ping $ip$1 lost"
echo `date`|mail -s "$ip$1 lost" testping159258@126.com ##发邮件提醒断网时间

if [ $? -eq 0 ];then # 测试邮件是否发送成功
echo "******************* mail sent ************************"
else #  发送不成功
echo "mail failed,please check"
fi #

else ##  内网不通
echo "can't ping the gateway ,please check inet addr"
fi ##


fi ###

sleep 2
}

while :;do # 死循环

for i in ${lastip[*]};do # 循环ip列表
ps $i   # $i就是ps里面的$1
done
done

原文地址:https://www.cnblogs.com/hanxing/p/4115043.html