
edgaroliveirace
(usa Ubuntu)
Enviado em 07/11/2013 - 11:37h
cara ja fiz isso q vc quer!
eu nao passo a senha do ssh pq coloco chaves neles.
esse script faz uma varedura na faixa de ip 192.168.0.1-254 pega os IPs em uso e acessa vis ssh e pega os sinais dos clientes e é tratado por mac,sinal,ccq,noisefloor e acessa o banco do mkauth procura o cliente com o mac achado e add os campos sinal,mac,noisefloor dentro do banco.
#!/bin/bash
USUARIO="ubnt"
PORTA_SSH="22"
PASTA_LOGS="/usr/local/mkauth/sinal/logs"
COM_SQL="mysql -u root -pvertrigo -e"
#COMANDO_NANOS='uname -n;wstalist|egrep "(mac|signal|noisefloor)"'
rm -rf $PASTA_LOGS/*.sql
probe () {
ping -c1 -w5 $1 >&- 2>&- && touch /tmp/pingfail.$1
}
rm /tmp/pingfail.* 2>&-
for i in $(seq 2 254); do
# aqui voce colocar a faixa de ip dos nanos, rocket....
probe 192.168.0.$i &
done
wait
for failip in /tmp/pingfail.*; do
#HOSTNAME=$(ssh -l $USUARIO -p $PORTA_SSH ${failip#*.} uname -n)
ssh -l $USUARIO -p $PORTA_SSH ${failip#*.} 'wstalist|egrep "(mac|signal|ccq|noisefloor)"|egrep -v signals'|xargs -L5|cut -c 1-66|tr -d ","| sed -e 's/mac:/|/g;s/signal :/|/g;s/ccq :/|/g;s/noisefloor:/|/g;' | while read Linha; do
mac_clie=$(echo $Linha|cut -d "|" -f2|sed 's/ //g')
sinal_clie=$(echo $Linha|cut -d "|" -f3|sed 's/ //g')
ccq_clie=$(echo $Linha|cut -d "|" -f4|sed 's/ //g')
noisefloor_clie=$(echo $Linha|cut -d "|" -f5)
$COM_SQL "UPDATE sis_cliente SET sinal=$sinal_clie, ccq=$ccq_clie, noisefloor=$noisefloor_clie WHERE mac=\"$mac_clie\"" mkradius
done
done
rm /tmp/pingfail.* 2>&-
exit 0