Gráfico de banda só com texto
Publicado por Rômulo Torres Silva 21/06/2008
[ Hits: 6.859 ]
Homepage: pankdo.equipesound.com
Após ler um artigo sobre monitoramento de banda em tempo real aqui mesmo no VOL.
Utilizando o phplot o qual precisa de php4 tentei implementar mas foi complicando muito. Então tive essa idéia que é muito simples e rápida e não exige demais configurações, apenas é necessário o apache com suporte a cgi-bin.
Com essa idéia é possível gerar inúmeros gráficos sem a utilização de linguagens avançadas ou programas específicos. O segredo é o caracter "█" que é uma espécie de retângulo.
#!/bin/bash maxup=120000 maxdown=150000 band1=$(cat /proc/net/dev | grep eth0 | cut -d: -f2 | awk '{print $1}') sleep 1 band2=$(cat /proc/net/dev | grep eth0 | cut -d: -f2 | awk '{print $1}') $((down = band2 - band1)) band1=$(cat /proc/net/dev | grep eth0 | cut -d: -f2 | awk '{print $9}') sleep 1 band2=$(cat /proc/net/dev | grep eth0 | cut -d: -f2 | awk '{print $9}') $((up = band2 - band1)) #calculando a percentagem precdown=$(((100*down)/maxdown)) precup=$(((100*up)/maxup)) echo "content-type: text/html" echo echo echo " <html> <head> <title> GRAFICO DE USO DE BANDA </title> </head> <body> " echo "<h2>GRAFICO DE BANDA ETH0</h2>" echo "<pre>" echo "$(cat /proc/net/dev)" echo "</pre>" echo "<b>" echo "<br>down: $down bytes por segundo" echo "<br>up: $up bytes por segundo" echo "</b>" echo "<br>" n=0 corr=50 corb=250 corg=120 echo "<br><b>banda down:</b><br>" while [ $n -le $precdown ] ; do $((corr = corr + 2 )) $((corb = corb - 2 )) $((corg = corg - 1 )) red=$(echo " ibase=10 ; obase=16; $corr" | bc ) blue=$(echo " ibase=10 ; obase=16; $corb" | bc ) gren=$(echo " ibase=10 ; obase=16; $corg" | bc ) echo -e -n "<font color=\"${red}${gren}${blue}\">█</font>" $((n = n + 1)) done echo "$precdown%" n=0 corr=50 corb=250 corg=120 echo "<br><b>banda UP:</b><br>" while [ $n -le $precup ] ; do $((corr = corr + 2 )) $((corb = corb - 2 )) $((corg = corg - 1 )) red=$(echo " ibase=10 ; obase=16; $corr" | bc ) blue=$(echo " ibase=10 ; obase=16; $corb" | bc ) gren=$(echo " ibase=10 ; obase=16; $corg" | bc ) echo -e -n "<font color=\"${red}${gren}${blue}\">█</font>" $((n = n + 1)) done echo "$precup%" echo "<br><br><br><br>considerando 100%=$maxdown Bps para down <br> e 100%=$maxup Bps para up <br> levar em consideracao o trafego para a aquisicao desta pagina" echo "</body>" echo "</html>"
Gerador de números para Mega-Sena
JSOO - Classe para manipular Querystring
Adicionar/Remover Classe de um Elemento HTML
Cookie - Número de visitas do usuário
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (2)
Melhorando a precisão de valores flutuantes em python[AJUDA] (8)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta