一个测试下载速度的shell脚本

 更新时间:2014年03月12日 10:34:19   作者:  
这篇文章主要介绍了一个测试下载速度的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

相关文章

  • 详解systemctl 和 service 区别及命令

    详解systemctl 和 service 区别及命令

    systemctl和service都是管理Linux系统服务的工具,但systemctl更加先进,可以方便地管理systemd服务,而service适用于管理传统的SysV服务,这篇文章主要介绍了systemctl和service区别及命令,需要的朋友可以参考下
    2023-07-07
  • CentOS7运行.sh脚本提示syntax error: unexpected end of file的解决方法

    CentOS7运行.sh脚本提示syntax error: unexpected end of file的解决方法

    这篇文章主要介绍了解决执行脚本报syntax error: unexpected end of file或syntax error near unexpected token fi错误的问题,需要的朋友可以参考下
    2020-02-02
  • 一天一个shell命令 linux文本操作系列-wc命令详解

    一天一个shell命令 linux文本操作系列-wc命令详解

    这篇文章主要介绍了一天一个shell命令 linux文本操作系列-wc命令详解,需要的朋友可以参考下
    2016-06-06
  • shell中的流编辑器awk工作原理

    shell中的流编辑器awk工作原理

    awk是一种处理文本文件的语言,是一个强大的文本分析工具, 用于在linux/unix下对文本和数据进行处理 。这篇文章主要介绍了shell中的流编辑器awk命令及工作原理,需要的朋友可以参考下
    2022-01-01
  • shell脚本中28个特殊字符的作用简明总结

    shell脚本中28个特殊字符的作用简明总结

    这篇文章主要介绍了shell脚本中28个特殊字符的作用简明总结,需要的朋友可以参考下
    2014-04-04
  • Linux中的host命令应用实例详解

    Linux中的host命令应用实例详解

    这篇文章主要介绍了Linux中的host命令应用举例的相关资料,需要的朋友可以参考下
    2017-07-07
  • 一问弄懂Shell变量四大分类

    一问弄懂Shell变量四大分类

    Shell变量分为环境变量、本地变量、位置参数变量和特殊变量,本文就详细的介绍一下这四种变量的具体使用,具有一定的参考,感兴趣的可以了解一下
    2023-05-05
  • Shell脚本echo指令使用小技巧

    Shell脚本echo指令使用小技巧

    这篇文章主要介绍了Shell脚本echo指令使用小技巧,包括使用echo指令输出换行、输出不换行、输出变量等技巧,需要的朋友可以参考下
    2014-07-07
  • Linux中修改文件权限chmod命令详解

    Linux中修改文件权限chmod命令详解

    在Linux系统中,chmod命令用于更改文件或目录的权限,它可以授予或撤销对文件的读取、写入和执行权限,本文给大家详细的介绍了Linux修改文件权限chmod命令用法,需要的朋友可以参考下
    2023-08-08
  • Shell中case...in分支语句的应用

    Shell中case...in分支语句的应用

    shell作为一种脚本编程语言,同样包含循环、分支等其他程序控制结构,从而轻松完成更加复杂、强大的功能,本文主要介绍了Shell中case...in分支语句的应用,感兴趣的可以了解一下
    2023-08-08

最新评论