Backups automáticos de rádios Intelbras APC5
Publicado por Joabe G.Q. Kachorroski (última atualização em 28/07/2017)
[ Hits: 2.986 ]
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 #========================================================================#
rsyncdev-pt_BR_v6.sh - Um baixador automático de ISOs de Sabayon Linux, versão 6
Backup Ubiquiti com usuários e senhas SSH diferentes
Configuração de backup com rsync sem senha
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
Mikrotik não mostra bytes nem packtes (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta