Gráfico só com texto

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

[ Hits: 6.731 ]

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

Multiconversor (Octal para binário, decimal para hexadecimal, etc)

Script simples para ripar CDs de áudio em mp3 com uso do CDDB para nomear as faixas.

phpserver

Pingar faixa de IP's

Configuração pós instalação do Slackware


  

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