shell 編寫指令碼批量ping ip

2021-07-12 05:47:08 字數 1170 閱讀 8911

伺服器總是一下子買了很多的段的ip。通過繫結後,也不知道這些ip是否繫結成功,所以就寫了乙個shell指令碼,把ip輸好,批量ping一下,看是不是都能ping通。

指令碼如下:

此外。還有乙個ip檔案,裡面放的都是ip 名為allip

我們來執行一下,看一下結果:

除了8.8.%  他顯示 ping 其他 失敗。的確這些ip是ping不通。好了。效果就這些,我們來看一下他的原理

先貼一下程式:

#! /bin/bash

for i in `cat allip`

doping=`ping -c 1 $i|grep loss|awk ''|awk -f "%" ''`

if [ $ping -eq 100  ];then

echo ping $i fail

else

echo ping $i ok

fidone

程式很簡單,現在來挨個解釋一下

#! /bin/bash

for i in `cat allip`  #這個是逐個讀取allip檔案裡的ip

doping=`ping -c 1 $i|grep loss|awk ''|awk -f "%" ''`

#上面一行是對讀出來的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

fidone

結束,小工具挺有用的,有時那麼多的ip,一次性就ping完了。

本文出自 「運維人生」 部落格,請務必保留此出處   ###尊重原創

編寫指令碼批量 ping

如果有很多 ip 或者網域名稱,我們要判斷哪些能 ping 通,採用自動化指令碼特別方便。先看指令碼,如下所示 bin bash 功能,ping檔案ip.lst中的ip,成功的輸出到ping ok.lst檔案,失敗的輸出到ping fail.lst檔案。10.1.1.1呼叫該指令碼 ping ip....

批量ping指令碼

ping c 1 i表示 只pin g一次。命令解釋 c計 數 co unt 1表示 一次,i 表示只ping一次。命令解釋 c計數 count 1表示一次,i表示只pi ng一次 命令解 釋 c 計數 c ount 1表 示一次,i是ip。grep loss 通過管道的方式查詢ping後的結果含有...

批量Ping執行Bash指令碼

bin bash ping batch script 連線超時時間 tmout 3 最大執行緒數 max thread 4000 保留記憶體大小 min mem 400 預設ip配置,可通過 r ip ip指定,格式 ping batch.sh r 192.168.1.1 192.168.2.254...