Iae galera do under-linux,
Venho compartilhar um script que fiz para resolver o problema de backups em equipamentos da ubiquiti (Nano, Airgrid, rocket, etc). Quando executo o script manualmente, ele funciona perfeitamente (não gera nenhum erro na tela e nada do tipo). Ele lê uma determinada lista, acessa os equipamentos via ssh e realiza um cat no arquivo "/var/tmp/system.cfg" redirecionando a saída do comando para um arquivo no servidor. A parte tensa é que quando agendo ele no Cron para que ele seja executado uma vez por semana, ELE NÃO EXECUTA 100%. Pensei que fosse algo no cron e tal, porém quando agendo ele no at funciona perfeitamente, já no cron ele chega a executar a primeira linha do código, porém não executando o restante do script. Segue abaixo o script;
#!/bin/bash
#log da hora que o backup ira iniciar (QUANDO AGENDO NO CRON, ELE EXECUTA APENAS ESTA LINHA DO SCRIPT)
export INICIO=$(date +%d-%m-%Y_%H:%M:%S)
echo -e "Backup iniciado as $INICIO" >> /var/log/log_backups_airmax.log
#Acessa equipamento com base na lista de ips e executa o backup
for i in $(cat lista_para_backup.txt); do
sshpass -p senhadosequipamentos ssh $i -l admin -o StrictHostKeyChecking=no \
"cat /tmp/system.cfg" > backups/ip-$i-backup-$(date +%d-%m-%Y).cfg 2> /dev/null \
&& export FIM=$(date +%d-%m-%Y_%H:%M:%S); echo -e "O backup de $i foi efetuado com sucesso em $FIM" >> /var/log/log_backups.log
done
Espero que esta dica seja útil para toda a galera que utiliza equipamentos ubiquiti.
Abraços.