Ispeed v1.1 - Medidor de velocidade de download
Publicado por Tiago Weber 24/06/2009
[ Hits: 7.735 ]
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
Script de busca (google em shell)
zsh: Validar IPv4 utilizando PCRE
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - FILTRO PARA CMAMAR O CLAMAV DIRETAMENTE DO POSTFIX
Autenticação automática no Speedy Home
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Como abrir o pycharm no linux [RESOLVIDO] (4)
VMs e Interfaces de Rede desapareceram (12)