Linux中ping脚本
生活随笔
收集整理的這篇文章主要介紹了
Linux中ping脚本
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、工作場(chǎng)景
??最近遇到一個(gè)比較難解決的問(wèn)題,每天需要Ping大量的IP地址,并且需要將正常、異常的IP地址皆導(dǎo)出來(lái),如果手動(dòng)Ping則至少需要幾個(gè)小時(shí),后來(lái)就在linux中用shell編寫了一個(gè)簡(jiǎn)單的群Ping腳本,只需要把需要Ping的地址放在文件中就可以了。
2、主腳本命令
#!/bin/bash #運(yùn)行IP測(cè)試腳本。 for IP in `cat IP.txt` #ip.txt需要提前創(chuàng)建,并且把需要ping的ip存放進(jìn)去。 doping -c 1 -i 0.2 -W 1 $IP &> /dev/nall #-c 設(shè)定嘗試的次數(shù),-i 每個(gè)數(shù)據(jù)發(fā)送的間隔,-W 超時(shí)等待的時(shí)間,/dev/nall是將結(jié)果存入黑洞中。if [ $? -eq 0 ] #判斷上面的結(jié)果是否為正確,正確為0,錯(cuò)誤為1。thenecho "$IP yes " #在界面上輸出正常的IP。echo $IP &>> yes.txt #并且將正常的IP存放至yes文件中。elseecho "$IP no " #在界面上輸出異常的IP。echo $IP &>> no.txt #并且將異常的IP存放至no文件中。fi done3、整體腳本
??由于需要每天Ping,產(chǎn)生出來(lái)的yes和no的文件需要先刪除才能執(zhí)行腳本,否則會(huì)追加,所以在腳本之前又添加了一個(gè)判斷文件的腳本,并且還需要將每天存活的IP與已知的正常IP進(jìn)行比較,所以就整體結(jié)合起來(lái)了。
#!/bin/bash #先刪除上次遺留的結(jié)果輸出文件。 if [[ -e yes.txt && -e no.txt ]] thenrm -rf yes.txtrm -rf no.txtecho "已刪除yes文件與no文件" elif [ -e yes.txt ] thenrm -rf yes.txtecho "已刪除yes文件" elif [ -e no.txt ] thenrm -rf no.txtecho "已刪除no文件" elseecho "未找到y(tǒng)es文件與no文件" fi#運(yùn)行IP測(cè)試腳本。 for IP in `cat IP.txt` doping -c 1 -i 0.2 -W 1 $IP &> /dev/nallif [ $? -eq 0 ]thenecho "$IP yes "echo $IP &>> yes.txt elseecho "$IP no "echo $IP &>> no.txt fi done#比較。 diff -c zq.txt yes.txt > bj.txt總結(jié)
以上是生活随笔為你收集整理的Linux中ping脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 系统开发基础:UML中图的相关知识笔记(
- 下一篇: GStreamer 简化 Linux 多