hw-test/scripts/stat-ping110

58 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
source scan-netdev
source test-variables
MY_DATE=`date +%Y-%m-%d_%H-%M-%S`
if [[ -n $1 ]] ; then
MTU=`echo $1 | sed 's/[^0-9]//g'`
if [[ "$MTU" != "" ]] ; then
MTU_P=" -s $MTU"
LABEL=".$MTU"
fi
fi
date >> $OUTPUT_DIR/ping.error.log
echo "stat-ping: start" >> $OUTPUT_DIR/ping.error.log
while [[ 1 ]] ; do
stat-bonding out
VLAN=110 ;
if [[ -f /etc/netdev/vlan.$VLAN.csv ]] ; then
VLAN_CONF=`sed 's/#.*$//' /etc/netdev/vlan.$VLAN.csv \
| grep $SERVER_SERIAL `
else
continue
fi
if [[ -z $VLAN_CONF ]] ; then
continue
fi
IP_LIST=`sed 's/#.*$//' /etc/netdev/vlan.$VLAN.csv \
| cut -d ',' -f 3 \
| grep '^[0-9]' | sort`
FAILED=
OK_LST=
for IP in $IP_LIST; do
RCVD=`ping -c100 -W1 $MTU_P -f $IP \
| grep 'received'`
if grep 'errors' <<< $RCVD > /dev/null
then
FAILED="$FAILED $IP"
else
OK_LST="$OK_LST $IP"
fi
done
if [[ -n $FAILED ]] ; then
echo "vLAN $RED$VLAN$OFF failed: $FAILED "
date >> $OUTPUT_DIR/ping.error.log
echo "vLAN $VLAN failed: $FAILED " \
>> $OUTPUT_DIR/ping.error.log
if [[ -n $OK_LST ]] ; then
echo "vLAN $GRN$VLAN$OFF Ok: $OK_LST"
fi
else
echo "vLAN $GRN$VLAN$OFF: Ok all"
fi
echo
sleep 1
done