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