Gráfico só com texto

Publicado por Rômulo Torres Silva 22/06/2008

[ Hits: 6.574 ]

Homepage: pankdo.equipesound.com

Download banda.cgi




Após ler um artigo sobre monitoramento de banda em tempo real aqui mesmo no VOL, utilizando o phplot  (que precisa de php4), tentei implementar mas foi complicando.

Aí tive essa idéia 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 e o caracter "█" que e uma espécie de retângulo

  



Esconder código-fonte

#!/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>"

Scripts recomendados

Mudar campo em arquivo txt

Script para ligar/desligar o Conky no Fluxbox

Inicializando os serviços de OmniBus

Myhard - Informações sobre seu hardware

Backup simples com log de resultado


  

Comentários
[1] Comentário enviado por fernando0973 em 24/06/2008 - 06:00h

Olá Rômulo.
Não entendi como aplicar este script.
Qual a extensão do arquivo e como fazê-lo funcionar? (habilitar cgi-bin?)
Abraços

[2] Comentário enviado por pankdo em 24/06/2008 - 12:59h

e simples pois esse e o principal objetivo desse script
basta salvar como .cgi dar permissão de execução e n se esqueça de colocar no diretorio correto do apache
ok
e tambem o apache tem que ser apto a executar esses scripts
entendido ??????
qualquer duvidas e so mandar


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts