Normalmente só lembramos do backup quando algo de ruim já aconteceu. É aquele momento onde nada mais pode ser feito.
A tarefa de realizar manualmente, qualquer que seja o tipo de backup não é tarefa fácil. Imagina em uma estrutura com diversos ativos de rede, tais como: Roteadores, Switches, Firewall, OLTs, Access Point, Servidores, a lista é bem extensa.
Fazendo uma analogia, backup é igual seguro de carro, a gente faz pra nunca usar, não é mesmo? Porém quando precisamos urgentemente recuperar alguma informação, é necessário que esteja atualizado, com disponibilidade imediata e armazenado em uma mídia segura.
No passado, tive essa amarga e desagradável experiência com um roteador teve seu sistema operacional corrompido, parando de funcionar no meio de uma tarde, causando um transtorno bem legal viu 🙁
Gastei pelos menos 1 (uma) hora para subir os principais serviços, e depois com ajuda da equipe, fomos lembrando dos demais serviços e recuperando pouco a pouco. Fato é, se o backup tivesse sendo feito com frequência, provalmente esse tempo de indisponibilidade e transtorno seria muito menor.
Passado essa experiência, resolvi compartilhar um passo a passo, que tem com objetivo configurar e agendar o backup das configurações de sistema do Ubiquiti EdgeOS, transferindo essas configurações para um servidor SFTP remoto.
Considerações iniciais:
- Todo o procedimento será realizado via CLI (command line interface)
- Servidor Linux com o serviço SFTP instalado e operacional
- O equipamento utilizado nesse post, foi um Roteador Ubiquiti Edge Router X
Vamos ao procedimento
Nessa primeira parte, será necessário gerar um par de chaves públicas SSH. Essas chaves vão permitir uma autenticação mais segura, entre o servidor SFTP e o Ubiquiti Edge Router X.
No Roteador Edge Router X
Acesse a interface CLI do equipamento com as suas credenciais, e execute os comandos abaixo:
1 2 3 4 |
sudo bash mkdir /config/ssh-keys cd /config/ssh-keys ssh-keygen -f SSH-EdgeRouterOpera -C "Chave SSH para backup Roteador Opera" -N "" |
Algumas observações dos comandos executados acima:
- Na string “SSH-EdgeRouterOpera“, altere para o nome que melhor representa o equipamento em questão.
- Em “Chave SSH para backup Roteador Opera“, adicione uma descrição que te ajude a recordar, qual o propósito das chavea récem criadas.
Certifique-se se as chaves foram criados com sucesso, utilize o comando:
1 |
ls -la |
Pronto, primeira parte finalizado. Par de chaves públicas SSH geradas com sucesso.
Dica: Mantenha cópias do par de chaves SSH em diferentes locais.
No Servidor SFTP
Vamos adicionar um usuário exclusivo para essa função de backup no servidor SFTP.
1 2 3 4 |
adduser OperaBackupUser su OperaBackupUser mkdir /home/OperaBackupUser/.ssh mkdir /home/OperaBackupUser/EDGE-ROUTER-OPERA |
A partir desse ponto, é necessário garantir que o conteúdo da chave SSH-EdgeRouterOpera.pub
presente no Ubiquiti Edge Router X, esteja dentro do arquivo authorized_keys no servidor Linux
Existem diversas maneiras, vou listar duas formas de fazer:
1) Execute o comando abaixo no diretório /config/ssh-keys do Ubiquiti Edge Router X:
1 |
cat SSH-EdgeRouterOpera.pub |
Copie o contéudo de SSH-EdgeRouterOpera.pub
e Cole o conteúdo no diretório abaixo, no servidor SFTP
1 |
vi /home/OperaBackupUser/.ssh/authorized_keys |
2. Uma outra forma de fazer é utilizando o SCP, segue um exemplo do comando:
1 |
scp SSH-EdgeRouterOpera.pub REMOTEUSER@ENDERECO_IP_DESTINO:/home/OperaBackupUser/.ssh/authorized_keys |
Pronto, segunda parte finalizado.
Agora, vamos de volta a CLI do Ubiquiti Edge Router X
Vamos adicionar o arquivo com o script, que será responsável pelo backup das configurações de sistema.
Acesse o diretório /config/scripts/
1 2 |
sudo bash cd /config/scripts/ |
Vamos criar o arquivo EDGE-ROUTER-OPERA.sh no diretório /config/scripts, copiando e colando o conteúdo do script abaixo.
1 |
vi /config/scripts/EDGE-ROUTER-OPERA.sh |
Obs: A escolha do nome do arquivo vai facilitar na identificação, tenha em mente que manter a documentação organizada, vai facilitar e agilizar em momentos de crise.
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash sftp_host="ENDERECO_IP_SERVIDOR_SFTP" sftp_user=OperaBackupUser sftp_folder=/home/OperaBackupUser/EDGE-ROUTER-OPERA sftp_key=/config/ssh-keys/SSH-EdgeRouterOpera now=$(date +%d%m%y-%H%M) tar -cf - /config | gzip | \ curl -k --key $sftp_key --pubkey $sftp_key.pub \ -u $sftp_user: -T - sftp://$sftp_host$sftp_folder/EDGE-ROUTER-OPERA-$now.tar.gz |
Vamos alterar a permissão do arquivo EDGE-ROUTER-OPERA.sh
1 |
chmod 755 EDGE-ROUTER-OPERA.sh |
Para finalizar
Na CLI do Edge Router X, execute os comandos abaixos:
1 2 3 |
configure set system task-scheduler task backupEdgeRouterX executable path /config/scripts/EDGE-ROUTER-OPERA.sh set system task-scheduler task backupEdgeRouterX interval 7d |