Ispeed v1.1 - Medidor de velocidade de download
Publicado por Tiago Weber 24/06/2009
[ Hits: 7.535 ]
Este script mede a velocidade de download na internet baseado no cálculo da média de
velocidade de download enquanto o wget baixa um grande arquivo de um servidor.
O arquivo que o script tentará baixar pode ser alterado pelo usuário através da edição da
variável "link". Após a medição, o script exibe uma tabela de referência mostrando
aproximadente quanto tempo o usuário levaria para baixar alguns tipos de arquivos.
A versão 1.1 corrige o bug da medição de velocidades superiores a 1Mbyte/s.
#! /bin/bash # ----------------------------------------------------------------------- # Script: Internet Speed (Ispeed) # Version: 1.1 # Author: Tiago Oliveira Weber # E-mail: towalker@gmail.com # # Description: This script measures the internet download speed based on # the download speed mean of wget while downloading a big file from a # server. # The file the script is going to try to download can be changed by the # user in the "link" variable. # ----------------------------------------------------------------------- # Define links link=ftp://ftp.slackware-brasil.com.br/slackware-12.0-iso/slackware-12.0-install-d1.iso # Start to download a file wget -O /tmp/tempfile -o /tmp/ispeed.log -b $link; echo -e "\n Wait a few seconds while your internet is being measured" # Reads values from the log sleep 10 awk '$5 ~ ".........." {print $8}' /tmp/ispeed.log > /tmp/ispeed2.log tail -10 /tmp/ispeed2.log > /tmp/ispeed3.log cut -f 1 -d "K" -s /tmp/ispeed3.log > /tmp/ispeed4.log cut -f 1 -d "M" -s /tmp/ispeed3.log > /tmp/ispeed5.log # Counting ispeed5.log lines wc -l /tmp/ispeed5.log > /tmp/ispeed6.log cut -f 1 -d " " -s /tmp/ispeed6.log > /tmp/ispeed7.log read nm < /tmp/ispeed7.log #nm is the number of variables with M bytes # summing both logs cat /tmp/ispeed5.log >> /tmp/ispeed4.log # Put values into variables count=1; while read line; do eval var$count=$line count=`expr $count + 1`; done < /tmp/ispeed4.log; # Round values varb1=`echo $var1|awk '{print int($1+0.5)}'` varb2=`echo $var2|awk '{print int($1+0.5)}'` varb3=`echo $var3|awk '{print int($1+0.5)}'` varb4=`echo $var4|awk '{print int($1+0.5)}'` varb5=`echo $var5|awk '{print int($1+0.5)}'` varb6=`echo $var6|awk '{print int($1+0.5)}'` varb7=`echo $var7|awk '{print int($1+0.5)}'` varb8=`echo $var8|awk '{print int($1+0.5)}'` varb9=`echo $var9|awk '{print int($1+0.5)}'` varb10=`echo $var10|awk '{print int($1+0.5)}'` #multiply by 1e3 the M values varlimit=10 eval kstop=`expr 10 - $nm + 1`; if [ 1 -lt $kstop ] then varc1=$varb1; else eval varc1=`expr $varb1 \* 1000` fi if [ 2 -lt $kstop ] then varc2=$varb2; else eval varc2=`expr $varb2 \* 1000` fi if [ 3 -lt $kstop ] then varc3=$varb3; else eval varc3=`expr $varb3 \* 1000` fi if [ 4 -lt $kstop ] then varc4=$varb4; else eval varc4=`expr $varb4 \* 1000` fi if [ 5 -lt $kstop ] then varc5=$varb5; else eval varc5=`expr $varb5 \* 1000` fi if [ 6 -lt $kstop ] then varc6=$varb6; else eval varc6=`expr $varb6 \* 1000` fi if [ 7 -lt $kstop ] then varc7=$varb7; else eval varc7=`expr $varb7 \* 1000` fi if [ 8 -lt $kstop ] then varc8=$varb8; else eval varc8=`expr $varb8 \* 1000` fi if [ 9 -lt $kstop ] then varc9=$varb9; else eval varc9=`expr $varb9 \* 1000` fi if [ 10 -lt $kstop ] then varc10=$varb10; else eval varc10=`expr $varb10 \* 1000` fi # calculate the mean eval sum=`expr $varc1 + $varc2 + $varc3 + $varc4 + $varc5 + $varc6 + $varc7 + $varc8 + $varc9 + $varc10`; eval mean_kbytes=`expr $sum / 10`; eval mean_kbits=`expr $mean_kbytes \* 8`; # Display Results clear echo " Measurement Results " echo -e "_______________________________________________________________" echo -e " Download Speed is: $mean_kbytes Kbytes/s or $mean_kbits Kbits/s \n \n"; # Comparisons mp3_size_kbytes=5000 videoclip_size_kbytes=35000 movie_size_kbytes=800000 cdrom_size_kbytes=737000 dvd_size_kbytes=4700000 eval time_mp3_min=`expr $mp3_size_kbytes / $mean_kbytes / 60` eval time_videoclip_min=`expr $videoclip_size_kbytes / $mean_kbytes / 60` eval time_movie_min=`expr $movie_size_kbytes / $mean_kbytes / 60` eval time_cdrom_min=`expr $cdrom_size_kbytes / $mean_kbytes / 60` eval time_dvd_min=`expr $dvd_size_kbytes / $mean_kbytes / 60` # Display Comparisons echo -e " Reference Download Time Table " echo -e "_______________________________________________________________" echo -e " Type \t \t Size (Kbytes) \t \t Time (minutes)" echo -e " Music (mp3) \t $mp3_size_kbytes \t \t \t $time_mp3_min" echo -e " Videoclip \t $videoclip_size_kbytes \t \t \t $time_videoclip_min" echo -e " Movie \t $movie_size_kbytes \t \t $time_movie_min" echo -e " Cd-Rom \t $cdrom_size_kbytes \t \t $time_cdrom_min" echo -e " DVD \t \t $dvd_size_kbytes \t \t $time_dvd_min" # Finish the temporary activities killall -9 wget rm /tmp/ispeed.log rm /tmp/ispeed2.log rm /tmp/ispeed3.log rm /tmp/ispeed4.log rm /tmp/tempfile
zsh: Validar IPv4 utilizando PCRE
Script de Backup que compacta Segmentado.
Free VPN - download de VPNs do vpnbook.com
Nenhum comentário foi encontrado.
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando Zoom Client no Ubuntu 24.04 LTS
Instalando Zoom Client no Fedora 40
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
Dificuldade em ler binário (12)
Em que pasta/arquivo ficam as configurações das janelas em derivados d... (2)
Não consigo atualizar minha GPU (1)