Backup automático de dispositivos com AirOS – Ubiquiti com SSH e Shell Script

Share Button

 

O gerenciamento de backup em produtos Ubiquiti, baseados no sistema operaciona AirOS, pode ser feito pela própria interface WEB no SO, ou até mesmo utilizando uma ferramenta gratuita disponibilizada pela ubiquiti, denominada AirControl.

Porem venho oferecer-lhes uma maneira diferente de realizar esses backups de uma maneira mais simples, e para o meu uso se tornou muito mais eficaz.

Nesse sistema não é necessário acessar radio a radio, e nem mesmo cadastra-los previamente no AirControl, o backup é feito totalmente via Shell Scripts, podendo ser executado de um servidor ou descktop linux.

A técnica se baseia em realizar uma conexão utilizando o SSH, e copiar toda a configuração do equipamento para um arquivo texto normal, que posteriormente pode ser enviado para um dispositivo novo, ou que necessite de uma reconfiguração.

Para isso inicialmente precisamos resolver um dos problemas de acesso ao dispositivo via SSH, que é enfrentado por muntos, quanto necessitamos que um script faça a conexão SSH sem requerem senha. Para isso é necessário instalamos o SSHPASS, é possível instalado via apt-get

“apt-get install sshpass”,

Todas as configurações ativas no AirOs, ficam armazenadas no arquivo /tmp/system.cfg, para realizar a cópia do arquivo todo para o terminal linux que estamos trabalhando bastas realizarmos uma conexão ssh executando um cat nesse arquivo, indicando o arquivo de saida. Lembrando que o equipamento deve estar com o SSH-Server ativo.

ssh 192.168.0.1 -l ubnt “cat /tmp/system.cfg” > backup-ubnt.cfg

para que isso fique de forma automática, em nosso caso sem a necessidade de passarmos a senha manualmente basta iniciarmos a seção ssh com o sshpass.

sshpass -p “SENHA” ssh 192.168.0.1 -l ubnt “cat /tmp/system.cfg” > backup-ubnt.cfg

Com isso podemos criar um arquivo texto com no nome “aps.txt” por um exemplo, e colocar todos os ips de nossos equipamentos ubiquiti em ordem e sem quebras assim.
aps.txt
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4

com isso podemos criar um shell script contendo um laço FOR, para realizar o backup de todos os dispositivos de uma só vez e automaticamente. Em meu exemplo salvei o arquivo como backup-ubnt.sh

for i in $(cat aps.txt); do

sshpass -p “SENHA” ssh $i -l ubnt “cat /tmp/system.cfg” > backup-ubnt-$i.cfg

done