多线程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


猜你喜欢

转载自www.cnblogs.com/mfyang/p/9386754.html