技术
成就梦想!

Linux IPV4 IPV6地址批量Ping脚本(工具)

因集群里操作系统都为Radhat 7.X的操作系统,我们需要通过ping去检测主机在线情况,而服务器数量比较大的就比较繁琐,进而写了sh脚本就服务器在线情况进行批量检测。本脚本根据同事脚本优化而来,在次感谢同事@苏老板的脚本。

1、脚本内容

本脚本运行在Linux操作系统上,通过本脚本可以批量检测ipv4、ipv6的地址,前提是配置好v4与v6协议栈。

#!/bin/bash

iplist=$1

exe_time=$(date +"%Y%m%d-%H%M")

num=0
while [[ num -le 20 ]];
do
  while read host || [ -n "$host" ];
  do
	if [[ $host == *.* ]];then
    ping=`ping -c 3 -w 3 -i 0.01 ${host} |grep ttl |wc -l`
    if [ $ping -eq 0 ];then
       echo ping $host fail | tee -a ${exe_time}_Ping_IPV4V6.log
    else
       echo ping $host ok | tee -a ${exe_time}_Ping_IPV4V6.log
    fi
	
	elif [[ $host == *:* ]];then
	 ping6=`ping6 -c 3 -w 3 -i 0.01 ${host} |grep ttl |wc -l`
    if [ $ping6 -eq 0 ];then
       echo ping $host fail | tee -a ${exe_time}_Ping_IPV4V6.log
    else
       echo ping $host ok | tee -a ${exe_time}_Ping_IPV4V6.log
    fi
	
	else
	echo "ip address fail"
	fi
	done < ${iplist}
  let num+=1
  echo " " | tee -a ${exe_time}_Ping_IPV4V6.log
  echo "============== ${num} ===============" | tee -a ${exe_time}_Ping_IPV4V6.log
  echo " " | tee -a ${exe_time}_Ping_IPV4V6.log
done

2、使用教程

vim ping-ipv4_ipv6.sh	#将上面脚本内容复制进去;
chmod +x ping-ipv4_ipv6.sh	#给脚本赋予执行权限;
vim ip_list.sh	#ip地址列表文件,可以直接从excel复制进来即可;
./ping-ipv4_ipv6.sh ip_list.sh	#开始执行批量ping;

./ping-ipv4_ipv6.sh ip_list.sh |grep -E "fail|="	#筛选检测失败的地址;

3、操作截图

image

image

IP地址列表文件内容,为保证脚本正常使用,请使用下面文件内容格式

image

 

赞(9)
未经允许不得转载:未来往事 » Linux IPV4 IPV6地址批量Ping脚本(工具)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址