Gráfico de banda só com texto
Publicado por Rômulo Torres Silva 21/06/2008
[ Hits: 7.011 ]
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>"
Banner Rotativo em JavaScript grava click no Mysql.
Tabela paginada e com diferenciação de cor nas linhas
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
O que você está ouvindo agora? [2] (186)
O 1º artigo a gente nunca esquece (0)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (8)