1. #!/bin/bash
    2. ##Lable: Detect network segment IP
    3. #by author:albert.dong
    4. #Mailto:skydong110@gmail.com
    5. #network=192.168.199
    6. network=10.20.0
    7. ping_count=3
    8. IP=1
    9. CKIP=$PWD/checkIP
    10. if [ ! -d "${CKIP}" ];then
    11. mkdir ${CKIP} -p
    12. else
    13. echo dir ${CKIP} exist!
    14. fi
    15. :>${CKIP}/IP_use
    16. :>${CKIP}/IP_idle
    17. :>${CKIP}/.ping_tmp
    18. :>/tmp/ping_action
    19. echo "`date "+%Y%m%d %H:%M:%S"`----->脚本开始执行......"
    20. while [ $IP -lt 255 ]
    21. do
    22. host=$network.$IP
    23. echo "-------->开始检测$host服务器通迅是否正常,ping次数$ping_count."
    24. ping $host -c $ping_count >${CKIP}/.ping_tmp
    25. sleep 1
    26. cat ${CKIP}/.ping_tmp >>/tmp/ping_action
    27. echo "-------->服务器$host检测已完成."
    28. sum_ping=`tail -2 ${CKIP}/.ping_tmp |head -1 |awk -F, '{print$2}' |cut -c 2-2`
    29. loss_ping=`tail -2 ${CKIP}/.ping_tmp |head -1 |awk -F, '{print$4}'|cut -c 2-5`
    30. if [ $sum_ping -eq $ping_count ];then
    31. echo "-->$host IP 已经在使用中"
    32. echo "-->$host IP 已经在使用中" >>${CKIP}/IP_use
    33. else
    34. echo "$host IP 目前空闲:$loss_ping"
    35. echo "$host IP 目前空闲" >>${CKIP}/IP_idle
    36. fi
    37. IP=$((IP+1))
    38. done
    39. rm /tmp/ping_action -rf
    40. echo "`date "+%Y%m%d %H:%M:%S"`----->脚本运行完毕......