Backup Ubiquiti com usuários e senhas SSH diferentes

Publicado por Sergio Lenaz (última atualização em 10/10/2017)

[ Hits: 6.471 ]

Homepage: .

Download ubiquiti-bkp.sh




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.

  



Esconder código-fonte

#!/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 {} \;

Scripts recomendados

Backup de bases MySQL

Backup da pasta de usuário em sistemas GNU/Linux sem copiar os arquivos ocultos

Script de backup de usuários do sistema

DriveTool.sh: um script para cópia rápida e segura de arquivos para unidades flash USB

Backup completo


  

Comentários
[1] Comentário enviado por eduardo em 11/10/2017 - 09:08h

Ótima dica. Acho que faltou um comentário na linha a seguir, não?

Deleta os arquivos que estao com 0k - Backups que foram gerados com erro

Abraço

[2] Comentário enviado por lindomart2 em 04/10/2023 - 19:42h

top o escrip


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts