#!/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" [email protected] ##发邮件提醒断网时间
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
时间: 2024-10-02 18:38:42