[Mikrotik] Backup y Export de la configuración enviada por FTP

Como complemento a la entrada de copia de seguridad de mikrotik por mail he creado un nuevo script que realiza lo mismo, hace un export y un backup, pero en vez de enviarlo por mail lo sube a un servidor ftp.

Histórico

Además tiene un parámetro de histórico, con lo que si ponemos esa opción a 1 (activa por defecto) nos sube la copia con el id del router y la fecha, como por ejemplo:

Alferez_3011_10may2017.backup
Alferez_3011_10may2017.rsc
Y si lo ponemos a 0 sube los ficheros con el nombre:
Alferez_3011.backup
Alferez_3011.rsc

Esto se hace por si queremos tener un backup guardado del día X. Hay que tener en cuenta que aunque los backups de los dispositivos Mikrotik no ocupan, podemos llegar a tener una buena cantidad de ficheros dependiendo de la peridicidad con la que se hagan las copias.

El Script

Debéis copiarle en el apartado System / Script, ya sea desde consola o desde el propio Winbox.

Éste es el script que tendéis que copiar y modificar vuestros datos:

######
######         Script para el envio de Backups del Mikrotik
######         genera un Backup y un Export del sistema y lo
######         sube por ftp al servidor indicado.
######
######                     www.alferez.es
######


#### Configuracion del Servidor FTP
:local server "servidorFTP";
:local port 21;
:local user "usuarioFTP";
:local password "passwordFTP";

#### Si activamos el historico sube los ficheros con la fecha del dia que se genero
:local historico 1;

:local nombrefichero;
:local systemid;

:set systemid [/system identity get name];

/system backup save name=$systemid
/export file=$systemid

:if ($historico = "1") do={
:set nombrefichero ([/system identity get name]."_".[:pick [/system clock get date] 4 6].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 7 11])

/tool fetch mode=ftp address=$server src-path=($systemid.".rsc") dst-path=($nombrefichero.".rsc") user=$user port=$port password=$password upload=yes keep-result=no
/tool fetch mode=ftp address=$server src-path=($systemid.".backup") dst-path=($nombrefichero.".backup") user=$user port=$port password=$password upload=yes keep-result=no

}

:if ($historico = "0") do={
/tool fetch mode=ftp address=$server src-path=($systemid.".rsc") dst-path=($systemid.".rsc") user=$user port=$port password=$password upload=yes keep-result=no
/tool fetch mode=ftp address=$server src-path=($systemid.".backup") dst-path=($systemid.".backup") user=$user port=$port password=$password upload=yes keep-result=no

}

Como veis al principio del script, hay 4 datos importantes que tenemos que establecer:

  • Servidor FTP
  • Puerto FTP (por defecto 21)
  • Usuario
  • Contraseña

Programación

Para programarlo hay que hacerlo desde el apartado Scheduler de vuestro mikrotik. Hay que tener en cuenta que con las actualizaciones de mikrotik algunos parámetros cambian, por ello recomendaría, que aunque nuestra configuración cambie poco por nuestra acción, se haga una copia como mínimo cada 15 días.

Podéis encontrar otros scripts para Mikrotik que he creado o he considerado importantes compartir en esta misma web.

Mikrotik
Mikrotik