一个自用的批量ping脚本
#!/bin/bash
#set -x
temp_log='/root/log_temp.log'
log='/root/n2n.log'
list="/root/list.conf"
sleep 1
cat /dev/null > $temp_log
cat $list |while read line; do
time=`date +%H:%M:%S`
{
number=`awk 'BEGIN {split("'"$line"'",arr,"*");print arr[1]}'`
ip=`awk 'BEGIN {split("'"$line"'",arr,"*");print arr[2]}'`
name=`awk 'BEGIN {split("'"$line"'",arr,"*");print arr[3]}'`
if ping -c 1 $ip >/dev/null;then
i='[OK]'
else
i='[!!]'
fi
echo -e "$ip \t$i-$time $number-$name" >>$temp_log
}&
done
sleep 10
grep OK $temp_log | sort -t. -k4 -n >$log
grep '!!' $temp_log | sort -t . -k4 -n >>$log
j=`grep OK $temp_log | sed -n '$='`
k=`grep '!!' $temp_log | sed -n '$='`
echo -e "在线设备数:$j 离线设备数:$k 设备总数:$l" >>$log
rm -f $temp_log
list.conf的格式:ID*IP*NAME