多線程shell腳本檢測主機存活

局域網中分了不少網段,而IP地址使用狀況也未知,前期也沒有規劃和記錄,當新的主機須要使用固定IP的時候,可否第一時間知道哪一個IP空閒就顯得很重要了,若是一個一個去ping的話太浪費時間。
這裏分享一個shell腳本檢測當前哪些IP在用和不在用。
腳本以下:
#!/bin/bash
#先生成一個網段的IP文本
ippre="192.168.10."
for i in {1..254}
do
	echo "${ippre}$i" >>ip.txt
done
#從文件中讀取IP地址並調用ping,一個網段檢測下來12秒左右。
iplist=$(cat ip.txt)
timestart=$(date "+%H:%M:%S")
for i in $iplist
do
{
	ping -c 2 $i 2>&1 >/dev/null
	if [ `echo $?` -eq 0 ]
	then
		echo "online host $i" >>192.168.10.on.txt
	else
		echo "offline host $i" >>192.168.10.off.txt
	fi
} &
done
wait
timeend=$(date +"%H:%M:%S")
echo $timestart
echo $timeend


相關文章
相關標籤/搜索