一個(gè)測(cè)試下載速度的shell腳本
更新時(shí)間:2014年03月12日 10:34:19 作者:
這篇文章主要介紹了一個(gè)測(cè)試下載速度的shell腳本,需要的朋友可以參考下
在Linux下用Shell來(lái)測(cè)試下載度,代碼如下:
復(fù)制代碼 代碼如下:
#!/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
#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
相關(guān)文章
shell自定義函數(shù)的6個(gè)特點(diǎn)總結(jié)
這篇文章主要介紹了shell自定義函數(shù)的6個(gè)特點(diǎn)總結(jié),也是使用shell自定義函數(shù)的一些注意事項(xiàng)總結(jié),以及小技巧介紹,需要的朋友可以參考下2014-07-07shell腳本中一鍵部署zookeeper集群服務(wù)的方法
Zookeeper是一個(gè)開(kāi)源的分布式的,為分布式框架提供協(xié)調(diào)服務(wù)的Apache項(xiàng)目,這篇文章主要介紹了shell腳本一鍵部署zookeeper集群服務(wù)的方法,需要的朋友可以參考下2022-05-05Linux Shell中的特殊符號(hào)和含義簡(jiǎn)明總結(jié)(包含了絕大部份)
這篇文章主要介紹了Linux Shell中的特殊符號(hào)和含義簡(jiǎn)明總結(jié),本文匯總了包含了絕大部份的Shell特殊符號(hào),對(duì)每一個(gè)符號(hào)的作用做了總結(jié),需要的朋友可以參考下2014-06-06linux shell腳本對(duì)未定義變量的判斷以及if的用法詳解
今天小編就為大家分享一篇linux shell腳本對(duì)未定義變量的判斷以及if的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07shell 中數(shù)學(xué)計(jì)算總結(jié)
shell中的賦值和操作默認(rèn)都是字符串處理,在此記下shell中進(jìn)行數(shù)學(xué)運(yùn)算的幾個(gè)特殊方法,以后用到的時(shí)候可以來(lái)看,呵呵2012-09-09使用ntpdate工具校正linux服務(wù)器時(shí)間(實(shí)現(xiàn)方法)
下面小編就為大家?guī)?lái)一篇使用ntpdate工具校正linux服務(wù)器時(shí)間(實(shí)現(xiàn)方法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06