#!/bin/bash
##Lable: Detect network segment IP
#by author:albert.dong
#Mailto:skydong110@gmail.com
#network=192.168.199
network=10.20.0
ping_count=3
IP=1
CKIP=$PWD/checkIP
if [ ! -d "${CKIP}" ];then
mkdir ${CKIP} -p
else
echo dir ${CKIP} exist!
fi
:>${CKIP}/IP_use
:>${CKIP}/IP_idle
:>${CKIP}/.ping_tmp
:>/tmp/ping_action
echo "`date "+%Y%m%d %H:%M:%S"`----->脚本开始执行......"
while [ $IP -lt 255 ]
do
host=$network.$IP
echo "-------->开始检测$host服务器通迅是否正常,ping次数$ping_count."
ping $host -c $ping_count >${CKIP}/.ping_tmp
sleep 1
cat ${CKIP}/.ping_tmp >>/tmp/ping_action
echo "-------->服务器$host检测已完成."
sum_ping=`tail -2 ${CKIP}/.ping_tmp |head -1 |awk -F, '{print$2}' |cut -c 2-2`
loss_ping=`tail -2 ${CKIP}/.ping_tmp |head -1 |awk -F, '{print$4}'|cut -c 2-5`
if [ $sum_ping -eq $ping_count ];then
echo "-->$host IP 已经在使用中"
echo "-->$host IP 已经在使用中" >>${CKIP}/IP_use
else
echo "$host IP 目前空闲:$loss_ping"
echo "$host IP 目前空闲" >>${CKIP}/IP_idle
fi
IP=$((IP+1))
done
rm /tmp/ping_action -rf
echo "`date "+%Y%m%d %H:%M:%S"`----->脚本运行完毕......