Dennis-mi

crontab -e
*/30 * * * *  /bin/bash /root/wirespeed/test-wirespeed.sh
每半小时取一次值。

主要采用ping和wget的值来判断网速的优良。当然了traceroute也是很重要的参考项。

#!/bin/bash
#For testing the wirespeed of BJxxx
#Levin.

trap \'echo;exit 0\' 2 15

test_port=\'1.2.3.2-->武汉电信      ###举例用的伪ip
12.2.2.22-->温州电信
5.6.3.2-->深圳电信
30.19.1.5-->宁波电信
1.1.2.5-->青岛网通
8.8.5.9-->哈尔滨网通
1.15.11.8-->北京网通
\'
time=`date +%F--%T`
packets=200

mkdir -p /root/wirespeed/datas/

cd /root/wirespeed/datas/

for i in $test_port;do

                ip=`echo $i|awk -F\'-->\' \'{print $1}\'`
                name=`echo $i|awk -F\'-->\' \'{print $2}\'`
                echo "###### signlevin $time ######"    >>speed.log.$time
                echo "-----> levin-sign    $ip $name    <----- " >>speed.log.$time
                ping -w $packets    $ip >>speed.log.$time
                wget http://$ip/ceshi 2>>speed.log.$time
                echo -e "/n/n" >>speed.log.$time
done

egrep \'levin-sign\' speed.log.$time |awk \'{print $3" "$4}\' >1

egrep \'packet\' speed.log.$time |awk \'{print $6}\' >2

egrep \'rtt\' speed.log.$time |awk -F\'= \' \'{print $2}\'|awk -F\'/\' \'{print $1" "$2" "$3}\'>3

egrep \'saved\' speed.log.$time |awk -F\'(\' \'{print $2}\'|awk -F\')\' \'{print $1}\' >4

sed \'s/ //\' 4 >5

paste 1 2 3 5|awk \'{printf "%-16s %-16s %-16s %-16s %-16s %-16s %-16s\n",$1,$2,$3,$4,$5,$6,$7}\'>result.log.$time

rm -f ceshi* 1 2 3 4 5


cat result.log.2009-12-18--10:00:01
 1.2.3.2    武汉电信         0%               18.274           25.647           56.231           700KB/s        
 12.2.2.22  温州电信         2%               38.695           54.259           102.885          663KB/s        
 5.6.3.2    深圳电信         1%               39.096           49.529           89.068           364KB/s        
 30.19.1.5 宁波电信         1%               34.076           47.669           92.153           627KB/s        
 1.1.2.5 青岛网通         0%               10.043           17.313           34.967           2.70MB/s       
 8.8.5.9    哈尔滨网通       0%               16.236           23.168           48.117           2.20MB/s       
 1.15.11.8  北京网通         0%               1.555            1.987            5.869            6.69MB/s 

最后用一条命令把产生的形如result.log.2009-12-18--10:00:01的文件内容汇总:

for i in result.log.*;do echo $i |awk -F. \'{print $NF}\'>>results.log;cat $i >>results.log;echo "" >>results.log;done

然后贴在excel中整理一下就可以了。

分类:

技术点:

相关文章: