Autor: m4d3
então tae, só não vale falar que copiei, hehe, pq copiei mesmo, adicionei o que eu necessito, ainda precisa de muitas melhorias, isso é evidente pelo código sujo que fiz, to postando como está rodando.
Ainda tem BUG? tem sim, mas é bem interessante você acompanhar pelo LCD a 'econômia' que o proxy cache do squid proporciona.
Pessoal que é fera no assunto, se puderem corrigir os erros, melhorar a performance do script e limpar a confusão que fiz, sintam-se a vontade para postar os resultados aqui mesmo.
Nota: o squid cache esta em /dev/hda2 e você deve adaptar para o seu caso se isso se fizer necessário.
Meu LCD é 16x2
16 caracteres
2 linhas, e fiz seguindo o tutorial encontrado aqui no site mesmo.
Se postei no lugar errado, e acho que estou, me desculpe.
Nesta imagem o lcdstas é o original baixado do site só pra terem uma idéia de como ficou o trabalho na cpu, ao lado esquerdo do LCD (dificil de enxergar nessa foto), tem 2 leds, que estão conectado a eth1(LAN), estou esperando um mini-gabinete para finalizar o trabalho. Logo postarei outras imagens, fiz um Display LCD de 20x4, utilizando o gabinete de um HUB encore, ficou interessante.
Segue o lcdstats modificado para mostrar mais informações.
###############INICIO DO lcdstats##############
#!/bin/sh
#configuration
config() {
########## welcome configuration ##########
h=`date +%H`
dia=`date +%d/%m/%Y`
hms=`date +%H:%M:%S`
h=`date +%H`
if [ $h -lt "12" ] ; then
memo="Bom dia!"
elif [ $h -lt "18" ] ; then
memo="Boa tarde!"
else
memo="Boa noite!"
fi
#### showing I.P. configuration##########
. /etc/coyote/coyote.conf
interno=$LOCAL_IPADDR
externo=$IPADDR
####download, upload, memory usage and load processor######
BW_IN=DOWN
BW_OUT=DOWN
#LOADAVG_1MIN=`cat /proc/loadavg | cut -f 1 -d ' '`
#rcli-eint
ECLI=`ifconfig eth0 |grep "RX b"|cut -f 2 -d '('|cut -f 1 -d'i'`
RCLI=`ifconfig eth0 |grep "RX b"|cut -f 3 -d '('|cut -f 1 -d'i'`
EINT=`ifconfig eth1 |grep "RX b"|cut -f 2 -d '('|cut -f 1 -d'i'`
RINT=`ifconfig eth1 |grep "RX b"|cut -f 3 -d '('|cut -f 1 -d'i'`
VRL=`ifconfig eth0 |grep "RX b"|cut -f 3 -d '('|cut -f 1 -d'.'`
VRW=`ifconfig eth1 |grep "RX b"|cut -f 2 -d '('|cut -f 1 -d'.'`
VRE=$((VRL-VRW))
SQP=`df -m|grep /dev/hda2|cut -c53-55`
SQP1=`df -m|grep /dev/hda2|cut -c53-54`
SQF=$((100-SQP1))
SQO=`df -m|grep /dev/hda2|cut -c37-40`
SQL=`df -m|grep /dev/hda2|cut -c47-50`
ECOE=`($((VEL))-$((VEW)))`
HORA=`date +"%H:%M"`
DATAT=`date +"%d/%m/%Y"`
TIMEUP=`uptime |cut -f 1 -d ',' |cut -c14-30`
LOADAVG_1MIN=`cat /proc/loadavg | cut -c3-4`
MEMTOTAL=`free | grep Mem | sed s/\ */#/g | cut -f 3 -d '#'`
MEMUSED=`free | grep Mem | sed s/\ */#/g | cut -f 4 -d '#'`
PERCUSED=$((MEMUSED*100/MEMTOTAL))
########## network adapter up down##########
. /tmp/netsubsys.state
if [ "$INET_UP" = "UP" ] ; then
if [ -e /tmp/bwmon.log ] ; then
bwstats > /tmp/bwstats.log
if [ $? = 0 ] ; then
if [ -e /tmp/bwstats.log ] ; then
. /tmp/bwstats.log
BW_IN=$BW_CUR_DOWN_K
BW_OUT=$BW_CUR_UP_K
fi
fi
fi
fi
}
########## lcd menu SAU ##########
#echo -ne "\033[H\033[J" > /dev/lcd
#echo -ne " ${memo}\r\n" > /dev/lcd
#echo -ne "RXT:${TOTRXKB}MB\n" > /dev/lcd
#echo -ne "TXT:EM DES."> /dev/lcd
menuSAU() {
config
echo -ne "\n" > /dev/lcd
echo -ne " PCRAM FiRo 0.1 \n" > /dev/lcd
echo -ne " $memo " > /dev/lcd
sleep 3
}
######### lcd menu VER ###########
menuVER() {
config
echo -ne "\n" > /dev/lcd
echo -ne " PCRAM FiRo 0.1 \n" > /dev/lcd
echo -ne " Ver. 271006.1A " > /dev/lcd
sleep 3
}
########## lcd menu DHORA ##########
menuDHORA() {
config
echo -ne "\n" > /dev/lcd
#echo -ne "Hora: ${hms}\n" > /dev/lcd
#echo -ne "Data: ${dia}" > /dev/lcd
echo -ne "Hora: $HORA\n" > /dev/lcd
echo -ne "Data: $DATAT" > /dev/lcd
sleep 2
}
########## lcd menu CPUMEM##########
menuCPUMEM() {
config
echo -ne "\n" > /dev/lcd
echo -ne "RC:${BW_IN}Kb MEM:$PERCUSED%\n" > /dev/lcd
echo -ne "EN:${BW_OUT}Kb CPU:$LOADAVG_1MIN%" > /dev/lcd
sleep 3
}
########## lcd menu TLIGA ##########
menuTLIGA() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "-=TEMPO LIGADO=-\n" > /dev/lcd
echo -ne "${TIMEUP}"> /dev/lcd
sleep 2
}
########## lcd menu VLAN ##########
menuVLAN() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "RXL: ${RCLI}b\n" > /dev/lcd
echo -ne "EXL: ${ECLI}b" > /dev/lcd
sleep 3
}
########## lcd menu IP ##########
menuIP() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "\n" > /dev/lcd
echo -ne "L:${interno}\n"> /dev/lcd
echo -ne "W:${externo}" > /dev/lcd
sleep 6
}
########## lcd menu VWAN ##########
menuVWAN() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "RXW: ${EINT}b\n" > /dev/lcd
echo -ne "EXW: ${RINT}b" > /dev/lcd
sleep 3
}
########## lcd menu ECO ##########
menuECO() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " ECOLINK ATIVO! \n" > /dev/lcd
echo -ne " ATUAL: ${VRE} Mb" > /dev/lcd
sleep 4
}
########## lcd menu CACHE ##########
menuCACHE() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "SQUID:${SQO}Mb $SQP\n" > /dev/lcd
echo -ne "LIVRE:${SQL}Mb $SQF%" > /dev/lcd
sleep 4
}
menuSAU
menuVER
menuIP
while [ 1 ]; do
menuDHORA
menuCPUMEM
menuVLAN
menuVWAN
menuECO
menuCACHE
menuTLIGA
done
exit
###############FIM DO lcdstats##############
Espero estar contribuindo
Novas fotos do LCD
Uso do Squid:
Velocidade atual de Recebimento/Envio, uso da Memória e CPU:
Bytes transferidos pela interface LAN:
Bytes transferidos pela interface WAN:
Economia de download proporcionada pelo cache do Squid ECOLINK:
E viva a FUJI, kkk