Cuando necesitamos crear copias de seguridad de nuestros Mikrotiks la mejor forma es automatizarlas y tener un histórico de las copias para poder restaurarlas cuando necesitemos. Ya sea porque se ha averiado el router, hemos modificado algo que no deberíamos o bien alguna actualización provoca algún fallo que desestabiliza nuestro sistema.

Para ello lo más fácil es recurrir a la creación de scripts y lo que parece que usan más es un script que envía las copias de seguridad al correo. Mientras que las copias queden fuera del Mikrotik lo podemos dar por válido, aunque estamos saturando nuestro correo y mezclando cosas importantes con otras que no lo son tanto. Gracias a lo versátil que es RouterOS podemos crear un script que envíe el backup por ftp y además que me identifique ese backup con la fecha de creación.

Mikrotik permite 2 tipos de copias de seguridad: Una binaria y otra que podría considerarse una exportación. El script que te muestro a continuación realiza los dos tipos de backup, de esta forma puedes modificar el archivo de exportación con los datos que consideres oportunos, o bien usar el binario directamente.

# Backup ftp
:local server "111.111.111.111"; # IP DEL SERVIDOR FTP
:local port 21; # PUERTO DEL FTP
:local user "usuario"; # USUARIO DEL FTP
:local password "password"; # CONTRASEÑA DEL FTP
:local carpeta "/BACKUPS-MIKROTIK"; #CARPETA DONDE GUARDAR LOS BACKUPS

#### 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="$carpeta/$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="$carpeta/$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

}

Cabe destacar que este script no realiza las copias periódicas. Para ello automatizaremos el script en el apartado System > Scheduler colocando el periodo que queramos para hacer las copias de seguridad.

¡Desata el Geek que llevas dentro!

Perfecto para regalar o para darte un capricho