Script para generar respaldos del user manager y guardarlos en un servidor ftp

Les paso un script que encontré en https://forum.mikrotik.com/viewtopic.php?t=52371, para hacer un autobackup de la base de datos del userman y de la configuración del router a un servidor FTP, espero les pueda servir.

El script genera un respaldo de la base de datos del userman así como de la configuración del sistema, la sube a un servidor ftp y borra en el equipo mikrotik los archivos para no quedarte sin espacio en la memoria. Se agrega via winbox, y si quieres que sea una actividad periódica creas una programación en el /system/scheduler. Lo ejecute en un rb750r2 v6.39.1

A continuación les dejo el script.

# automated System - UM database backup 2 External FTP
# Get time
:local ts [/system clock get time]
:set ts ([:pick $ts 0 2].[:pick $ts 3 5].[:pick $ts 6 8])
# Get Date
:log info message=IniciodeBackup;
:local ds [/system clock get date]
:set ds ([:pick $ds 7 11].[:pick $ds 0 3].[:pick $ds 4 6])
# This line to generate the file name for user manager backup - file name will be UMDB- ServerName? - Date? - Time?
:local fname ("/umdb-".[/system identity get name]."-".$ds."-".$ts.".umb")
# This line to generate the file name for System backup - file name will be UMDB- ServerName? - Date? - Time?
:local fname1 ("/sysback-".[/system identity get name]."-".$ds."-".$ts.".backup")
# all above is workaround to get unique $filename=UserManagerDB  - $filename1=System
/tool user-manager database save name=$fname
:log info message=UserManagerBackupFinished;
/system backup save name=$fname1
:log info message=SystemBackupFinished;
:delay 3s;
# Upload the UserManagerDB Backup to External FTP - change address to your ftp server + user + pass
/tool fetch address="direcciondelFTP" src-path=$fname user="usuariodelftp" mode=ftp password="paswordftp" dst-path="/rutadeftp/$fname" upload=yes
# Upload the System Backup to External FTP - change address to your ftp server + user + pass
/tool fetch address="direccionftp"src-path=$fname1 user=""usuarioftp mode=ftp password="passwordftp" dst-path="/rutadeftp/$fname1" upload=yes
# Delay time to finish the upload - increase it if your backup file is big
:delay 30s;
# Find file name start with UMDB- then remove
:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] "umdb-"]]!="nil") do={/file remove $i}}
:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] "sysback-"]]!="nil") do={/file remove $i}}
:log info message=UserMangerBackup-SystemBackup-TempRemoved;
:log info message=UserManger-SystemBackup-Finished;

Comentarios

Entradas populares de este blog

Script para generar reporte de hotspot y enviar un email, sin user manager. Mikrotik

Instalación de Paneles Solares México Interconexion CFE