場景:CMDB導出的機房EXECL表,要快速巡檢下其中的ip是否通。
實現:
1.通過複製IP列裏的所有IP到txt文本文件裏
2.再通過shell腳本多線程來加速執行ping得出結果。
腳本如下:
#!/bin/bash
ip=(`cat $1`)
ping_log="/tmp/ping.log"
: > $ping_log
echo "ping log:" > ./ping.txt
for i in ${ip[@]}
do
i=${i%%/*}
ping -c 2 -w 1 -W 1 $i | grep -q "ttl=" && echo "$i [yes]" >> $ping_log || echo -e "\033[36m$i [no]\033[0m" >> $ping_log &
done
echo "wait 5s...."
sleep 5
cat $ping_log
例如:ip記錄文件ip_list.txt 、執行腳本文件ip_ping.sh
調用方式:# ./ip_ping.sh ip_list.txt