当前位置 博文首页 > 一个测试下载速度的shell脚本

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

    作者:admin 时间:2021-02-17 21:08

    在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

    js
    下一篇:没有了