循环ping , 输出到 ping.log ,
ping 3次: ping -c 3
#!/bin/sh
#日志输出位置
MONITOR_LOG=/Downloads/ping.log
ping_monitor()
{
local total="0"
#for 循环
#for((i=1;i<=10;i++));
for((;;));
do
ping -c 3 $1 > /dev/null
if [ $? -eq 0 ];then
echo "`date +"%Y/%m/%d %H:%M:%S"` $1 ping success " >>${MONITOR_LOG} 2>&1
echo "`date +"%Y/%m/%d %H:%M:%S"` $1 ping 成功 "
total="0"
else
total=$((total+1))
echo "`date +"%Y/%m/%d %H:%M:%S"`[ping失败] $1 ping failed ,失败 $total 次" >>${MONITOR_LOG} 2>&1
echo "`date +"%Y/%m/%d %H:%M:%S"` $1 ping 失败 "
fi
# 日志输出4s 一次 ,15次/min, 30 = 2min
if(($total == 30))
then
echo "断网2分钟了去修机器"
fi
sleep 2 #睡眠
done #睡眠结束
}
ping_monitor 192.168.0.119