Linux脚本-自动ping网址列表

背景

公司某一项业务需要管理多种类硬件,有一些硬件的管理功能没有实现前台展示,检测和硬件之间的网络连接状况需要通过ping每个ip地址来单独实现。在需要大规模调试网络的时候,每个硬件单独ping就显得效率太低,所以萌生了写一个ping脚本的想法,来实现运行脚本自动ping ip地址列表,并生成成功和失败两个文件。


实现

事先把ip地址和对应的名称存储在ipaddresses文件中。
ipaddresses文件如下:

10.43.11.248#内饰1号门
10.145.225.2#同泰2号门
10.145.225.4#同泰3号门

实现读取文件中的一行数据,按照分割符#获取到ip地址即可开始ping,生成两个文件ipup.txt和ipdown.txt
脚本代码如下:

#!/bin/bash
#reading data from a file
count=1
cat ipaddresses | while read line
do
      echo "Line $count: $line"
	ip=`echo "$line" | awk -F# '{print $1}'` 
	ping -c 2 -W 1 $ip &> /dev/null
	if [ "$?" == "0" ];then
                echo $line is UP
		echo $line is UP >> /data/sg/ipup.txt
                #break;
      else
                echo $line is DOWN
		echo $line is DOWN >> /data/sg/ipdown.txt

      fi
        count=$[ $count + 1 ]
done
echo finished processing the file
posted @ 2020-08-10 09:15  Ging  阅读(1179)  评论(0编辑  收藏  举报