测试多服务器网络速度的shell脚本

发布时间:2020-01-16编辑:脚本学堂
分享一个shell脚本,用于测试多台服务器的网络速度,有需要的朋友参考下。

面对多台服务器,甚至几百台服务器时,测试其网络速度,无疑需要使用脚本来代替人工了。
假设我们的测试地址为:http://server/speed_test_123.zip,测试前将speed_test_123.zip分发到各台机器上。
文件:/var/shell/vpn.txt 中保存着各服务器的域名,一行一个。
测试结果保存在:/var/shell/result.txt 文件中。

脚本如下:
 

复制代码 代码示例:

#!/bin/sh
#filename chk_speed.sh
#check network speed
#edit by www.jb200.com

vpnlist="/var/shell/vpn.txt"
testfile="/speedtesting.zip"
result="/var/shell/result.txt"

echo "" > $result

cat $vpnlist | while read vpnserver
do
        url="http://$vpnserver$testfile"
        wget -o /tmp/vpn.log $url -O /dev/null

        speed=`cat /tmp/vpn.log | grep 'saved' | linuxjishu/13830.html target=_blank class=infotextkey>awk -F '{print $3}' | cut -c2-`
        unit=`cat /tmp/vpn.log | grep 'saved' | awk -F '{print $4}' | cut -c-2`

        if [ "$unit" == "MB" ]; then
                speed=`echo $speed*1024 | bc`
                unit="KB"
        fi

        echo "$url      $speed $unit/s" >> $result
        echo "$url      $speed $unit/s"
done

echo "VPN speed test finish,sort result display:"
cat $result | sort -k2 -rn