如何编写一个测试下载速度的shell脚本-创新互联

本篇内容主要讲解“如何编写一个测试下载速度的shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何编写一个测试下载速度的shell脚本”吧!

站在用户的角度思考问题,与客户深入沟通,找到淳安网站设计与淳安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站制作、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广、主机域名、虚拟空间、企业邮箱。业务覆盖淳安地区。

在Linux下用Shell来测试下载度,代码如下:


代码如下:

#!/bin/bash
#date:20140210
#used for test server download speed
r_host="188.18.28.19"
r_dir="/home/test0208/tmp"
r_file="$r_dir/ddfile2m"
l_dir="/home/yangjuying/tmp"
l_file="$l_dir/ddfile2m"
l_log="$l_dir/182.18.28.19-download.log"
echo "----------$(date +%Y%m%d-%H%M%S)----------" >>$l_log
start_t="$(date +%s)"
scp -P22 -o connecttimeout=10 -o GSSAPIAuthentication=no test0208@$r_host:$r_file $l_file >>$l_log 2>&1
rc="$?"
if [ "$rc" -eq 0 ];then
    stop_t="$(date +%s)"
    file_stat="$(stat $l_file)"
    file_ctime="$(echo "$file_stat" | awk -F "[ .]" 'FNR==5{print $2,$3}' | sed 's/[- :]/ /g')"
    file_ct="$(awk -v t="$file_ctime" 'BEGIN{print mktime(t)}')"
    file_size="$(du -sm $l_file | cut -f1)"
    rm "$l_file"
else
    stop_t=""
fi
if [ -n "$stop_t" ];then
    connect_t=$(($file_ct-$start_t))
    transfer_t=$(($stop_t-$file_ct))
    all_t=$(($stop_t-$start_t))
    speed="$(echo "scale=3;$file_size/$transfer_t" | bc)"
    echo "size:${file_size}MB, all_time:$all_t, connect_time:$connect_t, transfer_time:$transfer_t, speed:${speed}MB/s" >>$l_log
else
    echo "scp error!" >>$l_log
fi

到此,相信大家对“如何编写一个测试下载速度的shell脚本”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网页名称:如何编写一个测试下载速度的shell脚本-创新互联
链接分享:http://ybzwz.com/article/gpcjg.html