Script para Backup por email – Mikrotik

Atualizado – 24 de Julho de 2008.

Uma necessidade que tenho ao utilizar o mikrotik é de realizar backup. Minha experiência com computadores me ensinou que alguma coisa muito ruim sempre pode acontecer. Principalmente quando você cuida exclusivamente de algo e você viaja, ou tudo está funcionando bem e quando o seu chefe viaja acontece uma cagada enorme e sem explicação aparente.

Ao começar a trabalhar com mikrotik, criar scripts era terrível, pois não sou programador e a linguagem utilizada não tem nada a ver com a do bash por exemplo.

Se você não tem idéia do que se trata o mikrotik, de  uma olhada acima que uma página deste blog explica um pouquinho sobre este poderoso sistema operacional. Outra opção é clicar aqui.

Com seis meses de empresa, meu ex-patrão foi viajar para São Paulo para uma feira de tecnologia e de repente, um dos mikrotiks que mantinha uma torre nova, com quase 80 clientes parou. Naquela época ele utilizava HDs e o HD deu pau. Ele teve que me passar por telefone direto de São Paulo, o passo-a-passo da instalação. Depois de umas 4 horas no telefone às 14:10 hs tudo estava funcionando novamente.

Mas isso me criou a necessidade de realizar um backup periódico e automático. Notei que a função backup era poderosa, mas eu tinha um problema. Uma das vezes que tentei realizar montagem de um novo mikrotik, ela criava inconsistências, pois muitas vezes as placas mudava e etc. Com isso comecei a utilizar o comando export, que permite a edição dos arquivos. Com isso conseguia adequar o sistema de forma correta.

Acabei criando o script abaixo para resolver um problema pessoal. Se ajudar alguém fico feliz. Se gostarem ou utilizarem, peço que comentem e recomendem o artigo. Se tiverem sugestões para melhorar o artigo, também serão bem-vindas.

Os códigos aqui contidos são baseados na versão 2.9 do mikrotik. Se você estiver utilizando uma versão diferente pode ser necessário realizar algum ajuste. Este código é para ser utilizado com o WinBox.

/ system script add name="e-backup" source="
/ export file=bck-cfg-mktk
/ system backup save name=email
/ tool e-mail send body="backup" server=192.168.0.1  file="bck-cfg-mktk.rsc" from="Mikrotik" subject="Backup com  EXPORT Mikrotik" to="seu_email@seu_provedor.com.br"
/ tool e-mail send  body="backup" server=192.168.0.1 file="email.backup"  from="Mikrotik" subject="Backup Mikrotik"  to="seu_email@seu_provedor.com.br"" policy=ftp,read,write,policy,test,winbox

Este código pode ser colado direto no terminal (console) do seu mikrotik. Basta ajustar alguns parâmetros como o servidor de email e endereço de email. Se você preferir utilizar o winbox, pode utilizar este código:

Corrigido – Este código pode ser colado direto no terminal (console) do seu mikrotik. Basta ajustar alguns parâmetros como o servidor de email e endereço de email. Se você preferir utilizar o winbox, pode utilizar este código:

/ system script
\n/tool e-mail send body=\"backup export\" server=192.168.20.254 \
\n/tool e-mail send \sc\" from=\"mkt.central\" subject=\"Backup com EXPORT Mikrotik - Central\" to=\"lucianosds@gmail.com\" \
    body=\"backup\" server=192.168.20.254 file=\"email.backup\" from=\"mkt.central\" subject=\"Backup Mikrotik - Central\" to=\"lucianosds@gmail.com\"" \
    policy=ftp,read,write,policy,test,winbox

Veja abaixo uma tela do local onde se localiza o comando no winbox. Quando abrir o script, basta clicar no botão com um sinal de +.

Mikrotik - Script

Para realizar o agendamento, utilizaremos o comando schedule no mikrotik. Voltando para o terminal utilizaremos o seguinte comando:

/ system scheduler
add name="email-backup" on-event=e-backup start-date=sep/12/2007
start-time=23:00:00 interval=1w comment="" disabled=no 

Se for pelo winbox, é só segiur os passos abaixo.

Mikrotik - Scheduler


37 Comentários on “Script para Backup por email – Mikrotik”

  1. luciano disse:

    Sem problemas! Estamos ai para isto 😀

  2. Ximendes disse:

    Amigo, eu gostaria de receber esses scripts por e-mail, vc pode mandar?

  3. Teco disse:

    Cara ,vc ajudou demais !!!
    PARABÉNS….

  4. Amigo eu uso o mk hj em meu provedor, só que nao to conseguindo colocar seu script pra rodar aqui, vc poderia me ajudar?….ficaria muito agradecido.

  5. Clebestation disse:

    Valeu muito bom esse script….não abusando muito vc não teria outros scripts relacionados ao mikrotik.

  6. Gustavo disse:

    Poxa tambem não consegui rodar esse script manda por favor por email

  7. luciano disse:

    Olá pessoal! Desculpa os seis meses off, mas a correria tá grande, e o dinheiro tá curto.

    Quem tiver algum problema com o script, tente digitar o conteúdo pelo winbox. O sistema do WordPress as vezes dá problema com as aspas duplas. Se alguêm tentar copiar o conteúdo de alguns arquivos do tutorial sobre Squid tb pode ter problemas.

    Portanto reforçando, tente digitar o conteúdo ao invés de copiar e colar.

  8. LinuxAngra disse:

    O IP no caso será do provedor de email ou do MikroTik.

  9. O IP que está descrito no campo server é o IP do servidor de email. Pode ser qualquer micro da sua rede que tenha um servidor configurado.

  10. André Marchesan disse:

    Boa tarde,

    Estive tentando configurar, mas na segunda linha deu problema.
    export file=bck-cfg-mktk n
    bad argument name n (line 1 column 26)

    O que vem a ser esse n????

    Att
    André.

  11. Cara, obrigado por me lembrar! Pode tirar este n. Já corrigi o artigo e o script.

  12. vanderlei disse:

    Nao funcionou pra mim, coloquei no script mas nao roda… como acompanho o script enquanto ele roda pra encontrar o erro?

  13. cara… verifica os logs do seu servidor de email para ver se chega a ter comunicação ou não…
    Abre o mikrotik, ou uma seção pelo SSH e rode o script abaixo!

    / export file=bck-cfg-mktk
    / system backup save name=email
    / tool e-mail send body=”backup” server=192.168.0.1 file=”bck-cfg-mktk.rsc” from=”Mikrotik” subject=”Backup com EXPORT Mikrotik” to=”seu_email@seu_provedor.com.br”
    / tool e-mail send body=”backup” server=192.168.0.1 file=”email.backup” from=”Mikrotik” subject=”Backup Mikrotik” to=”seu_email@seu_provedor.com.br”” policy=ftp,read,write,policy,test,winbox

  14. Tiago Orlando disse:

    Grande Luciano, senhor de todos os scripts de MK…rsrsrs
    cara, tenhu uma pergunta…
    tem como criar algum script pro mk mandar o LOG por email???

  15. Cara… coplicado… acho mais fácil vc acessar o log por uma máquina remota para ter acesso a ele. Pode ser uma máquina linux rodando Syslog, ou o servidor com o The Dude!

  16. joao disse:

    como faco pra configurar o dude para mandar email??
    quero que quando um servico pare, seja enviado um email…
    mas nao estou me achando…

  17. KuringaGP disse:

    “Doutor Luciano”,…. Como vai?! bem? Espero… veja bem, eu gostaria, se fosse possivel claro, que vc me desse uma luz, com esse script de back-up por email. Queria fazer ele funcionar no hotmail, se for possivel. Nun consigo fazer ele funcionar nem a pau…. preciso de um servidor de email a parte?… se puder me ajudar…. grato! Daniel Passos.

  18. amigo….

    estou precisando de um script pra resolver meu problema local, pois meus clientes reclamam que quando tentam criar no novo msn, então aparece que atingiu o limite diário… e ai amigo.. .tem como resolver isso pra mim .. agradeço…

  19. Silvio disse:

    E só colocar o script e alterar o servidor de envio e alterar a hora do envio ?

  20. Evandro disse:

    Fala ai cara !
    Estou com um problema com o Mikrotik,
    meus clientes estao com a conexão nula ou limitada , alguns ,
    outros estao conectados normalmente. Não intendo , O que posso fazer ?

    Por favor nescessito de resposta .

    Abraço

  21. Regis disse:

    Olá colega, este servidor de e-mail pode ser qualquer um, tipo outlook, incred mail ???ou tein q ser algum especifico para mikrotik ???

  22. Olá Pessoal!

    Vi que muitos tem dúvidas sobre email. Só para esclarecer, outlook e programas de acesso POP/IMAP, não são servidores. Vocês precisam ter um MTA para pode mandar emails. Nas versões acima da 3.25, ou seria 3.28, o mikrotik passou a dar suporte a emails autenticados. Portanto vocês podem criar uma conta num google da vida só para isso. Um MTA é um servidor que faz o transporte do email na web. Seriam servidores MTA: o qMail, Exim, Postfix, Sendmail e Exchange (este Microsoft).

    Espero que tenha sanado as dúvidas.

  23. Fabio Nunes disse:

    Feliz ano novo primeiramente !

    Luciano não estou conseguindo enviar o arquivo de backup. Tem como configurar o servidor de email no mikrotik ??? esta dando problemas no “TO” ( email de destino ).
    Me ajuda por favor

  24. Olá Fábio! Na verdade o Mikrotik não tem MTA configurado, portanto você tem que obrigatoriamente usar um outro servidor, ou serviço. A partir da versão 3.28, salvo engano, o Mikrotik suporte autenticação do SMTP, e portanto você pode configurar até serviços do gmail por exemplo. O problema com o campo TO é que muitos serviços como Live, Terra e Yahoo não aceitam emails de servidores que não tenha o DNS Reverso configurado.

    Um bom ano novo a todos.

  25. Fabio Nunes disse:

    Obrigado pela explicação…. entao com o milrotik 2.9 não consigo enviar um email sem um servidor proprio de smtp ?

  26. Luciano .. Se vc puder me add no msn nos trocarmos umas ideia..
    Quem quiser add tbm ta ai .. tenho provedor de internet no Mato Grosso.
    Thiagostreit@hotmail.com

  27. fernando disse:

    alguem ai sabe de um passo a passo de como fazer o microtik enviar um backup automatico para meu email.

  28. fernando disse:

    Amigos tenho algumas duvidas tipo o servidor de email é meu proprio microti?
    meu ip do serve é 10.16.10.1 vou fazer uma alteraçao pra simular e gostaria que os mais experientes confirme se funciona ou nao.

    view sourceprint?1 / system script

    2 \n/tool e-mail send body=\”backup export\” server=192.168.20.254 \

    3 \n/tool e-mail send \sc\” from=\”mkt.central\” subject=\”Backup com EXPORT Mikrotik – Central\” to=\”lucianosds@gmail.com\” \

    4 body=\”backup\” server=192.168.20.254 file=\”email.backup\” from=\”mkt.central\” subject=\”Backup Mikrotik – Central\” to=\”lucianosds@gmail.com\”” \

    5 policy=ftp,read,write,policy,test,winbox

  29. fernando disse:

    view sourceprint?1 / system script

    2 \n/tool e-mail send body=\”backup export\” server=10.16.10.1 \

    3 \n/tool e-mail send \sc\” from=\”mkt.central\” subject=\”Backup com EXPORT Mikrotik – Central\” to=\”uforosa@gmail.com\” \

    4 body=\”backup\” server=10.16.10.1 file=\”email.backup\” from=\”mkt.central\” subject=\”Backup Mikrotik – Central\” to=\”uforosa@gmail.com\”” \

    5 policy=ftp,read,write,policy,test,winbox
    —————————————————————————-
    e ai galera é isso ai se eu cola ele rola .

  30. Fernando, esse é um passo-a-passo!. Ele roda normalmente, é só adaptar para o seu ambiente, com o seu servidor de email e o seu email para receber os pacotes. As versões atuais do RouterOS tem suporte a servidores SMTP autenticados, como o yahoo e o gmail.

    E o formato do script é pronto para ser colado direto em terminal, por isso das contra-barras.

    Um abraço a todos!

  31. Lucas disse:

    “”Acabei criando o script abaixo para resolver um problema pessoal. Se ajudar alguém fico feliz.””

    O Correto seria – Acabei copiando e colocando aqui, se ajudar alguem bla bla….vamos la não sabia nem configurar precisou 4 horas pra por um mk no ar e vem escrever script….larga a mão de se besta meu !!!!!

    • Olá Lucas!

      Realmente entre copiar e usar tem diferença. Agradeço sua participação, e que bom que com o tempo a internet tenha proporcionado a todos, inclusive você a oportunidade de colocar sistemas funcionando.

      Este nunca foi um blog no qual me coloco no centro do universo. Pelo contrário, o utilizo como minha memória pessoal, e tem sido proveitoso para algumas pessoas também.

      Sobre o script, ele é utilizado a muito tempo no provedor que estou, é um script simples e qualquer um poderia tê-lo desenvolvido. Meu chefe implantou uma parte dele e eu acrescentei outra, numa época em que não havia importação oficial e nem Routerboards disseminadas. Demorou algum tempo até ter a implantação do wiki oficial, treinamentos e tudo o mais.

      E realmente demorei quatro horas em 2004 para voltar um Athlon com 4 cartões em cima de um prédio. Quando não há documentação disponível, e fóruns ativos proliferando como existem hoje tudo é mais difícil.

      Obs.: Em nenhum momento disse que havia acabado de criar o script, e sim que o adaptei e desenvolvi a uma necessidade do provedor, sem discriminar o tempo que isso aconteceu. Afinal, foi já há algum tempo. E o script que está aqui foi totalmente baseado no manual disponível na época.

  32. Cristiano disse:

    Meu Grande boa noite quero saber como fazer um backup pelo New Terminal, eu até consigo fazer a exportação através de export file= mais não consigo mandar ela para uma pasta no computador, como fazer pra mandar ela ir para uma pasta ou por e-mail. obg.. estou no aguardp

    • Para criar backup:
      /system backup save name=”nome_que_você_quiser”

      Para puxar para um computador:
      – pode usar winbox, menu files
      – pode usar ftp, conectando pelo IP, com o usuário e senha

      Para enviar por email:
      tool e-mail send to=”seu_email@dominio” subject=”Assunto para você poder localizar” from=algum_email_seu_para_envio@dominio file=Nome_do_arquivo server=seu_host


Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.