linux脚本下载,一个测试下载速度的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值