Gráfico de banda só com texto
Publicado por Rômulo Torres Silva 21/06/2008
[ Hits: 7.236 ]
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>"
Descubra que dia da semana você nasceu!
Tabela paginada e com diferenciação de cor nas linhas
Assinatura nas postagens no Viva o Linux
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Como cortar as partes de um vídeo com passagens de áudio em branco
Tiling automático no KDE Plasma
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Links importantes de usuários do vol (4)
GOG confirma suporte oficial ao sistema Linux: "o trabalho começo... (2)
Para os fãs de DOOM, um vídeo do Romero (com dublagem em pt-br disponí... (2)









