檢測網(wǎng)段IP使用情況的shell腳本
更新時間:2013年02月04日 17:03:11 作者:
檢測網(wǎng)段IP使用情況的shell腳本,有需要的朋友可以參考下
復(fù)制代碼 代碼如下:
#!/bin/bash
#main---
network=192.168.1
ping_count=3
IP=1
:>IP_use
:>IP_idle
:>ping_action
echo "`date "+%Y%m%d %H:%M:%S"`----->腳本開始執(zhí)行......"
while [ $IP -lt 255 ]
do
host=$network.$IP
echo "-------->開始檢測$host服務(wù)器通迅是否正常,ping次數(shù)$ping_count."
ping $host -c $ping_count >.ping_tmp
sleep 1
cat .ping_tmp >>ping_action
echo "-------->服務(wù)器$host檢測已完成."
sum_ping=`tail -2 .ping_tmp |head -1 |awk -F, '{print$2}' |cut -c 2-2`
loss_ping=`tail -2 .ping_tmp |head -1 |awk -F, '{print$4}'|cut -c 2-5`
if [ $sum_ping -eq $ping_count ];then
echo "-->$host IP 已經(jīng)在使用中"
echo "-->$host IP 已經(jīng)在使用中" >>IP_use
else
echo "$host IP 目前空閑:$loss_ping"
echo "$host IP 目前空閑" >>IP_idle
fi
IP=$((IP+1))
done
echo "`date "+%Y%m%d %H:%M:%S"`----->腳本運行完畢......"
要實現(xiàn)Ping一個網(wǎng)段的所有IP,并檢測網(wǎng)絡(luò)連接狀態(tài)是否正常,很多方法都可以實現(xiàn),下面簡單介紹兩種,如下:
腳本1
復(fù)制代碼 代碼如下:
#!/bin/sh
# Ping網(wǎng)段所有IP
# 2012/02/05
ip=1 #通過修改初值
while [ $ip != "254]; do
#yes正常,no主機不存在或不正常
ping 192.168.0.$ip -c 2 | grep -q "ttl=" && echo "192.168.0.$ip yes" || echo "192.168.0.$ip no"
ip=`expr "$ip" "+" "1"`
done
輸出結(jié)果:
192.168.0.1 yes
192.168.0.2 no
192.168.0.3 no
192.168.0.4 no
192.168.0.5 yes
192.168.0.6 no
192.168.0.7 yes
...
腳本2
復(fù)制代碼 代碼如下:
#!/bin/sh
# Ping網(wǎng)段所有IP
# 2012/02/05
ip="192.168.0."
for i in `seq 1 254`
do
ping -c 2 $ip$i | grep -q 'ttl=' && echo "$ip$i yes"|| echo "$ip$i no"
#yes正常,no主機不存在或不正常
done
輸出結(jié)果:
192.168.0.1 yes
192.168.0.2 no
192.168.0.3 no
192.168.0.4 no
192.168.0.5 yes
192.168.0.6 no
192.168.0.7 yes
...
相關(guān)文章
Shell腳本實現(xiàn)根據(jù)端口號kill相應(yīng)進程功能
這篇文章主要介紹了Shell腳本實現(xiàn)根據(jù)端口號kill相應(yīng)進程功能,本文相對簡單,只有一句話,需要的朋友可以參考下2014-12-12exit(-1)或者return(-1)shell得到的退出碼為什么是255
exit(-1)或者return(-1)shell得到的退出碼為是255,大家知道為什么嗎?帶著這個疑問來腳本之家學(xué)習(xí)下吧,本篇文章告訴大家答案2015-10-10shell for循環(huán)與數(shù)組應(yīng)用介紹
先舉一個例子,shell for循環(huán)讀取一個文件,把每一行賦值給一個數(shù)組的變量,然后介紹shell數(shù)組的相關(guān)知識,有需要的朋友可以參考下2013-02-02linux shell字符串內(nèi)置的常用操作(獲取長度、查找、替換)
在編寫shell程序時,經(jīng)常會涉及到字符串相關(guān)操作。有許多命令語句,如awk,sed都能夠做字符串各種操作。 事實上shell內(nèi)置一系列操作符號,能夠達到相似效果,使用內(nèi)部操作符會省略啟動外部程序等時間,因此速度會很的快。如果內(nèi)置的操作符能夠做到的,優(yōu)先使用內(nèi)置的2015-12-12