您的位置:首页 > 运维架构 > Shell

shell 编写脚本批量ping ip

2016-05-31 15:03 375 查看
 服务器总是一下子买了很多的段的ip。通过绑定后,也不知道这些ip是否绑定成功,所以就写了一个shell脚本,把ip输好,批量ping一下,看是不是都能ping通。

脚本如下:



此外。还有一个ip文件,里面放的都是ip 名为allip



我们来运行一下,看一下结果:



除了8.8.%  他显示 ping 其他 失败。的确这些ip是ping不通。好了。效果就这些,我们来看一下他的原理

先贴一下程序:

 

#! /bin/bash

for i in `cat allip`

do

ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`

if [ $ping -eq 100  ];then

echo ping $i fail

else

echo ping $i ok

fi

done

程序很简单,现在来挨个解释一下

 

#! /bin/bash

for i in `cat allip`  #这个是逐个读取allip文件里的ip

do

ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`

#上面一行是对读出来的ip ping一次,看是否ping通。并取出loss的百分比的值 也就是掉包的值 ,看是否掉包

if [ $ping -eq 100  ];then #比较一下,看掉包的值是不是100,如果是100就是全部掉包,那就是没ping通,那就显示 ping ip fail,如果不等于100的话,就ping通了,就显示 Ping ip OK

echo ping $i fail

else

echo ping $i ok

fi

done

 

结束,小工具挺有用的,有时那么多的ip,一次性就ping完了。

 

 

 

本文出自 “运维人生” 博客,请务必保留此出处http://yaozb.blog.51cto.com/2762349/560462 
 ###尊重原创
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: