ping 命令檢索ping成功的數據包
腳本過濾ping通IP的數據包
1.問題描述:由於網絡不穩定,導致業務系統中無法正常運行,經常有丟包的現象
2.需求:編寫一個腳本,通過ping 命令發送一定數量的數據包,檢索出成功與丟失的數據包的數量,來判斷網絡是否符合要求
3.思路:1)整個業務系統有多個IP,用fou 循環,用以取到不同的IP
2)對取到的IP進行ping ,過濾平通的包,對結果進行判斷 並返回相應的值
3)每隔多長時間循環一次 sleep ,因此用到while循環 ,循環條件永遠為真
4.編寫腳本如下
腳本描述:對每個IP ping100 個數據包,成功ping通90個包,表名網絡正常,並返回一定的值normal 否側返回abnormal 每10秒循環一次
#!/bin/bash
while true
DATE=$(date "+%Y-%m-%d %H:%M:%S")
do
for address in $(cat $1)
do
echo -en "$DATE ping $address……"
Pingpacket=100
SuccessfullPackets=90
ping $address -c $Pingpacket -i 0.5 -t 5
ReceivedPacket=$(ping $address -c $Pingpacket -i 0.5 -t 5 | grep "received" | awk ‘{print $4}‘)
LossPacket=$(($Pingpacket - $ReceivedPacket))
if [ $ReceivedPacket -ge $SuccessfullPackets ];
then
echo "Ping altogether $Pingpacket bags, received $ReceivedPacket bags" && echo " $address is normal "
else
echo "Ping altogether $Pingpacket bags, loss $LossPacket bags" && echo " $address is abnormal "
fi
done
sleep 10s;
done
~
本文出自 “92868888” 博客,請務必保留此出處http://92868888.blog.51cto.com/12381417/1955181
ping 命令檢索ping成功的數據包