Backups automáticos de rádios Intelbras APC5
Publicado por Joabe G.Q. Kachorroski (última atualização em 28/07/2017)
[ Hits: 3.492 ]
Homepage: http://commitlinux.com.br/
Download Script_Backup_IntelbrasAPC5.sh.js
Olá galera!
Pouco tempo atrás prestei um serviço a uma provedora de internet que tinha muitos rádios Intelbras APC5 e tive que criar uma solução para realizar os backups em tempo real e enviasse por e-mail e FTP. Os recém lançados rádio Intelbras aqui no Brasil utilizam uma ferramenta de gerenciamento que fornece backup integrado para todos os produtos chamada WNMS, a ferramenta também é utilizada lá fora por quem usa Deliberant ou LigoWave.
Porém se você é uma pessoa como eu, que não gosta de instalar vários gerenciadores para gerenciar cada marca de equipamento e gosta de ver o que está acontecendo, tenho uma solução bem interessante e simples, que aqui mesmo tratei de como utilizá-la em produtos MikrotiK e Ubiquiti.
Para isso apenas necessitamos de uma máquina Linux para realizar a tarefa.
Primeiro é necessário instalar o SSHPASS, para que não seja necessário inserir a senha manual a cada rádio que iremos realizar o backup:
$ sudo apt-get install sshpass
Pronto, é só isso, basta rodar o script e acessar seu email ou servidor FTP, agende o script em seu crontab e seja feliz.
#=======================================================================#
## backup_apc5.sh - Scripts para gerar backups e enviar para FTP e Email.
## Escrito por: Joabe Guimarães Querino Kachorroski (Campo Grande - MS)
## E-mail: joabejbk@gmail.com
## Sistemas Operacional: Ubuntu GNU/Linux 12.04
## Data de criação deste script Quin 29/09/2016 às 14:05:09
## Versão:0.1
#=======================================================================#
#=========== CONFIGURACAO GLOBAL DE ACESSO SSH DOS RADIOS ==============#
ssh_user="user"
ssh_pass="password"
ssh_porta="22"
ssh1_user="user"
ssh1_pass="user"
ssh1_porta="22"
#================== CONFIGURACAO GLOBAL DO E-MAIL === ==================#
de="emailquevai@enviar.com.br"
para="emailquevai@receber.com.br"
smtp="smtp.gmail.com"
porta="587"
user="emailquevai@enviar.com.br"
senha="password"
#============== COMANDO PARA PEGAR O ARQUIVO DE CONFIGURACAO ===========#
comando="cat /tmp/system.cfg"
aps_online="/home/intelbras/mkauthapc/aps_online.txt"
aps_offline="/home/intelbras/mkauthapc/aps_offline.txt"
aps_contabilizados="/home/intelbras/mkauthapc/total_aps.txt"
radio=`sed -e '/6.67/!d' /home/intelbras/mkauthapc/apc.txt`
#=================== LIMPA BACKUPS ANTIGOS ==============================#
#INICIANDO O SCRIPT
echo "Aguarde!!! Localizando e Excluindo Backups Antigos."
sleep 5
DIR="/home/intelbras/mkauthapc/apc5/"
DIAS="1"
CMD="find $DIR -name "*.tgz" -ctime +$DIAS -exec rm{} \;"
ARQ="/tmp/bkp_old.log"
$CMD &> $ARQ 2> /dev/null
AUX=$(cat $ARQ | wc -l)
if [ $AUX = 0 ]; then
echo "Nenhum backup com mais de $DIAS dia(s) para excluir!"
else
$CMD | xargs rm -rf
echo "Backup(s) com mais de $DIAS dia(s) de criaçao excluido(s)!"
rm -rf $ARQ
fi
echo "Aguarde!!! Estamos Verificando se os Paineis estão Online..."
sleep 5
for apc in $(cat /home/intelbras/mkauthapc/apc.txt);do
ping -q -c2 $apc > /dev/null
if [ $? -eq 0 ]
then
echo $apc "Online"
echo $apc "Online" >> $aps_online
else
echo $apc "Offline"
echo $apc "Offline" >> $aps_offline
fi
done
sleep 2
echo "Obrigado, Radios verificado com sucesso, foi gerado um arquivo com com IPs online e offline."
sleep 5
echo "Aguarde!!! Estamos acessando os Radios e gerando os Backups."
#Aqui foi criado um if pq tinha um radio PTP com senha difrerente e nesse radio tinha mais de 50 cliente conectados.
if [ "$radio" = "172.16.6.67" ];then
for apc in $(cat /home/intelbras/mkauthapc/apc1.txt); do
sudo sshpass -p "$ssh1_pass" ssh -o StrictHostKeyChecking=no $apc -l $ssh1_user -p $ssh1_porta "$comando" > /home/intelbras/mkauthapc/apc5/cfg/backup-$apc.cfg
done
fi
for apc in $(cat /home/intelbras/mkauthapc/apc2.txt); do
sudo sshpass -p "$ssh_pass" ssh -o StrictHostKeyChecking=no $apc -l $ssh_user -p $ssh_porta "$comando" > /home/intelbras/mkauthapc/apc5/cfg/backup-$apc.cfg
done
echo "Aguarde!!! Contabilizando quantos Backups foram feitos."
find /home/intelbras/mkauthapc/apc5/cfg -type d | \
while read line
do
echo "$line" && ls -l "$line" | grep -v ^total | wc -l >> $aps_contabilizados
done
echo "Aguarde!!! Estamos compactando os Backups."
sleep 5
#======================== ENVIAR E-MAIL ================================#
#COMPACTANDO PARA ENVIAR POR E-MAIL
dia="`date +%d-%m-%Y`"
cd /home/intelbras/mkauthapc/apc5/
tar -zcvf backup-apc-$dia.tgz cfg
echo "Backups Compactados."
sleep 5
#ANEXANDO BACKUP
arq_tgz="`find /home/intelbras/mkauthapc/apc5 -mtime -1 -name '*.tgz'`"
anexo="$arq_tgz"
#ANEXA ASSUNTO E MENSAGEM
assunto="Backup dos Radios APC5+ `date +%d/%m/%Y`"
mensagem="Segue em anexo os Backup dos Radios APC5+.... Backups gerado e enviado automaticamente pelo Serv$
#========================================================================#
#ENVIANDO E-MAIL
echo "Enviando E-mail com Backups e logs..."
sendEmail -f $de -t $para -u "$assunto" -m "$mensagem" -a $anexo $aps_online $aps_offline $aps_contabilizados -s $smtp:$porta -xu $user -xp $senha
#========================================================================#
Backup dinâmico de banco de dados MySQL
Backup de arquivos e banco de dados com envio de e-mail
Script de Back Up, com limpeza de back ups antigos e e-mail com logs
Nenhum comentário foi encontrado.
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









