Backup Ubiquiti com usuários e senhas SSH diferentes
Publicado por Sergio Lenaz (última atualização em 10/10/2017)
[ Hits: 6.452 ]
Homepage: .
Galera, esse é um script pra quem tem vários rádios, com diferentes senhas do ssh entre eles (ou usuário), e precisa fazer backup das configurações.
Achei muitos scripts para fazer backup em lote, porém, para equipamentos com mesmo usuário e senha. Então fiz esse script p/ sanar minhas necessidades, e agora compartilho com vocês.
Ele criar uma pasta com a data do backup, e dentro dela, os arquivos .cfg. Depois pega os dados de um arquivo que contém:
nome_do_radio,IP_radio,usuario,senha
(exatamente nesse formato, separado por virgula " , " e 1 por linha)
Espero ajudar alguém no caminho!
Abraços.
#!/bin/bash ######################################## ## Script para backups ## ## de equipamentos Ubiquiti ## ## Criado por Sergio Lenaz ## ######################################## export arquivo="/home/listaips.txt" mkdir /home/paineis/`date +%d-%m-%Y` export destino="/home/paineis/`date +%d-%m-%Y`" #Log da hora que o backup inicia export INICIO=`date +%d-%m-%Y_%H:%M:%S` echo -e "#####***************Backup iniciado as $INICIO***************#####" >> /home/logs/ubiquiti.log #Backup com base na lista de ips for RADIO in `cat $arquivo`; do nome=`echo $RADIO | cut -d',' -f 1` ip=`echo $RADIO | cut -d',' -f 2` usuario=`echo $RADIO | cut -d',' -f 3` senha=`echo $RADIO | cut -d',' -f 4` sshpass -p $senha ssh $ip -l $usuario -o StrictHostKeyChecking=no "cat /tmp/system.cfg" > $destino/$nome-$ip-backup-`date +%d-%m-%Y`.cfg 2> /dev/null && export FIM=`date +%d-%m-%Y_%H:%M:%S` && echo -e "O backup de $nome-$ip foi efetuado com sucesso em $FIM" >> /home/logs/ubiquiti.log || echo -e "Ocorreu um erro ao realizar o backup de $nome-$ip as `date +%d-%m-%Y_%H:%M:%S`" >> /home/logs/ubiquiti.log done Deleta os arquivos que estao com 0k - Backups que foram gerados com erro find $destino -size 0k | xargs rm -fr *.cfg #Deletar os arquivos criados a mais de 7 dias find $destino -ctime +7 -exec rm -r {} \;
sync_local - backup/restauração local
Backup de arquivos e banco de dados com envio de e-mail
Backup de uma base MYSQL específica.
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[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