Backup Automático no MikroTik RouterOS com Scheduler
Backup do MikroTik falha do jeito mais previsível: alguém esquece de rodar antes de uma mudança arriscada, ou o arquivo fica salvo só no próprio roteador — que é justamente o equipamento que vai quebrar. A solução é tirar o backup da lista de tarefas manuais: um script agendado no /system scheduler gera o backup binário e a exportação de configuração todo dia, sem depender de ninguém lembrar, e envia o arquivo para fora do roteador por e-mail ou FTP.
Por que gerar dois formatos de backup
O RouterOS oferece dois comandos diferentes para salvar a configuração, e cada um resolve um problema que o outro não resolve:
/system backup savegera um arquivo binário (.backup) com tudo, incluindo endereços MAC e senhas. Restaura rápido, mas só no mesmo modelo de hardware e na mesma versão (ou compatível) do RouterOS./exportgera um arquivo texto (.rsc) legível, editável e portável entre equipamentos — mas por padrão não inclui senhas nem chaves.
Rodar os dois em todo backup cobre os dois cenários: restauração rápida no mesmo roteador e migração para hardware novo caso o antigo morra de vez.
Passo a passo: script de backup combinado
1. Criar o script
Acesse o terminal do RouterOS (Winbox ou SSH) e crie um script que monta o nome do arquivo com identidade, data e hora, gera os dois formatos e registra no log:
/system script
add name=auto-backup policy=read,write,policy,test,sensitive source={
:local id [/system identity get name]
:local d [/system clock get date]
:local t [/system clock get time]
:local base ("$id-$d-$t")
/system backup save name=$base password=SUA_SENHA_FORTE
/export compact file=$base
:log info ("Backup criado: $base")
}
A policy sensitive é obrigatória para o script conseguir exportar valores sensíveis (senhas, chaves pré-compartilhadas de IPSec, etc.). Sem ela, o export sai incompleto e o log não avisa — o arquivo simplesmente vem sem essas informações.
2. Testar manualmente antes de agendar
Rode o script uma vez à mão para confirmar que ele gera os arquivos e não retorna erro de sintaxe ou de permissão:
/system script run auto-backup /file print where name~[/system identity get name]
Se os dois arquivos (.backup e .rsc) aparecerem na lista, o script está correto e pode ser agendado.
3. Agendar com o scheduler
/system scheduler
add name=daily-backup \
on-event=auto-backup \
start-time=03:30:00 \
interval=1d \
policy=read,write,policy,test,sensitive
O policy do scheduler precisa repetir exatamente o do script — se um dos dois faltar uma permissão, o job falha silenciosamente e só aparece no log do sistema. Rodar de madrugada (03:30, por exemplo) evita competir com tráfego de produção durante o export.
4. Opcional: rodar também na inicialização
Útil para capturar o estado do equipamento assim que ele sobe, antes de qualquer mudança automatizada mexer na configuração:
/system scheduler
add name=startup-backup \
on-event=auto-backup \
start-time=startup \
interval=0
Enviando o backup para fora do roteador
Backup que mora só no roteador não é backup — é uma cópia que quebra junto com o original. Escolha e-mail ou FTP/SFTP para tirar o arquivo do equipamento assim que ele é gerado.
Por e-mail
Configure o cliente SMTP uma vez:
/tool e-mail
set address=smtp.seuprovedor.com \
port=587 \
from=roteador@suaempresa.com \
user=roteador@suaempresa.com \
password=SENHA_DO_APP \
tls=starttls
Depois, estenda o script de backup para anexar e enviar os arquivos:
/tool e-mail send \
to="ti@suaempresa.com" \
subject=("Backup RouterOS: $id $d $t") \
body=("Backup automatico gerado em $d $t") \
file=("$base.backup,$base.rsc")
Adicione um :delay 5s entre o export e o envio — sem essa pausa, o e-mail pode sair anexando um arquivo ainda sendo gravado. E confira o provedor de e-mail: muitos exigem senha de aplicativo em vez da senha normal da conta, e porta/TLS incompatíveis são a causa mais comum de falha de envio.
Por FTP ou SFTP
Se preferir enviar para um servidor de arquivos em vez de e-mail, use /tool fetch com upload=yes:
/tool fetch url="sftp://backup.suaempresa.com/roteadores/$id/$base.backup" \
src-path="$base.backup" \
upload=yes \
user=usuario_sftp \
password=SENHA_SFTP
SFTP é preferível a FTP puro porque cripta a transferência — o backup contém senha e, se você exportar com show-sensitive, também chaves privadas. Para validar a identidade do servidor, informe o host-key.
Limpando backups antigos
Arquivos datados se acumulam na memória do roteador (que costuma ter poucos megabytes livres). Sem limpeza, o disco enche e o próprio backup passa a falhar por falta de espaço:
:local id [/system identity get name]
:local files [/file find where name~$id]
:local count [:len $files]
:if ($count > 14) do={
:local old [:pick $files 0]
/file remove $old
}
Adicione esse trecho ao final do script de backup para manter só as últimas cópias no roteador — o histórico completo já está seguro no e-mail ou no servidor FTP/SFTP.
Restaurando um backup
Para o binário, o roteador precisa reiniciar durante a restauração:
/system backup load name=NOME-DO-ARQUIVO.backup password=SUA_SENHA_FORTE
Para o export em texto, a restauração é uma importação de comandos — útil também para restaurar só um trecho da configuração, editando o arquivo antes:
/import file-name=NOME-DO-ARQUIVO.rsc
Ao importar um .rsc em um equipamento que já tem parte da configuração, é normal aparecer erro de “already have such entry” em alguns objetos — pode ignorar, é o RouterOS recusando recriar algo que já existe.
Perguntas frequentes
Preciso mesmo gerar os dois formatos, .backup e .rsc?
Sim, se a meta é cobrir os dois cenários de desastre. O binário restaura rápido no mesmo equipamento; o texto é a única forma de levar a configuração para um roteador diferente ou de revisar mudanças linha a linha.
Dá para restaurar um .backup em um modelo diferente de roteador?
Não é recomendado. O formato binário carrega informações específicas de hardware; para migrar entre modelos, use o export .rsc e ajuste manualmente o que for específico do equipamento novo (interfaces, por exemplo).
O scheduler continua rodando depois de o roteador reiniciar?
Sim, os jobs do /system scheduler ficam salvos na configuração. Se o reboot acontecer perto do horário programado, o próximo disparo válido é o do dia seguinte no mesmo horário.
Como faço backup sem senha?
Basta omitir o parâmetro password no /system backup save. Não é recomendado: o arquivo passa a abrir em qualquer equipamento, o que é um risco se ele vazar por e-mail ou FTP mal configurado.
Funciona igual em RouterOS 6 e 7?
Sim, os comandos de backup, export, scheduler, e-mail e fetch são compatíveis entre as duas versões. A sintaxe do script muda pouco de uma versão para outra.
Conclusão
O ganho real desse setup não é o backup em si — é tirar a tarefa da memória de quem administra a rede. Depois de configurar o script e o scheduler, teste a restauração pelo menos uma vez em um ambiente controlado: um backup que nunca foi restaurado é uma suposição, não uma garantia.