dieses Script:
- erstellt ein Backup der Konfiguration (textfile, .rsc)
- erstellt ein Backup des Systems (binärdatei, .backup)
- verschickt die beiden Backup-Dateien per Email
- wird automatisch im gewünschten Intervall über den internen Scheduler ausgeführt
In der WinBox → System → Scripts, erstellen wir ein neues backup2email Script.
# Mikrotik Backup Script, getestet mit 6.39.x, 6.40.x # LAST MODIFIED: 08.08.2017 # Logeintrag erstellen :log warning "backup2email: started ..." # Variablen setzen :local configbackup CONFIG_backup.rsc :local systembackup SYSTEM_backup.backup :local backupfiles :set backupfiles "CONFIG_backup.rsc,SYSTEM_backup.backup" :local identity ([/system identity get name]) :local rosver ([/system resource get version]) :local time ([/system clock get time]) :local date ([/system clock get date]) :local adminemail emailempfänger@domain.tld # SMTP Serverkonfiguration des Providers über den wir versenden :local mailuser emailabsender@domain.tld :local mailfrom emailabsender@domain.tld :local mailpass passwort für mailuser :local mailport mailserverport :local mailserver :set mailserver [:resolve "mailserver.provider.tld"]; # Emaileinstellungen setzen (oder manuell in WinBox -> Tools -> Email) /tool e-mail set address=$mailserver port=$mailport start-tls=yes from=$mailfrom user=$mailuser password=$mailpass # Logeintrag erstellen :log warning "backup2email: creating new up to date backup files ..." # Backups erstellen /system backup save name=$systembackup dont-encrypt=yes /export file=$configbackup # Logeintrag erstellen :log warning "backup2email: pausing for 10s so it can complete creating backup. (for slower systems)" :delay 10s :log warning "backup2email: sending backup files via email ..." # Die Backup-Dateien per email senden (** bis RouterOS 6.39.x **) #/tool e-mail send to=$adminemail subject="$date $time $identity backup2email config" body="$identity, RouterOS $rosver - $configbackup" file=$configbackup start-tls=yes #/tool e-mail send to=$adminemail subject="$date $time $identity backup2email system" body="$identity, RouterOS $rosver - $systembackup" file=$systembackup start-tls=yes # Die Backup-Dateien per email senden (** ab RouterOS 6.40.x, multiple attachments supported **) /tool e-mail send to=$adminemail subject="$date $time $identity backup2email" body="$identity, RouterOS $rosver - $backupfiles" file=$backupfiles start-tls=yes # Logeintrag erstellen :log warning "backup2email: sleeping for 10 seconds so email can be delivered ..." :delay 10s # Die erstellten Backup-Dateien wieder löschen /file remove $configbackup /file remove $systembackup # Logeintrag erstellen :log warning "backup2email: finished and backup files removed, check your inbox!" # END
Das Script manuell testen ob auch alles wie gewünscht und fehlerfrei funktioniert!!
/system script run backup2email
Alle 14 Tage soll das backup2email Script automatisch ausgeführt werden, das erledigt ein neuer Scheduler Eintrag.
/system scheduler add interval=14d name=backup2email on-event="/system script run backup2email" policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-date=aug/01/2017 start-time=04:00:00
Bei Fehlern, wie z.B. invalid TO address, aktivieren wir verbose logging für email. Damit sieht man im log eher wo es klemmt.
/system logging add topics=e-mail,debug action=memory
Danke an Syed für die Vorlage.
Absolutes Spitzenscript!
Vielen Dank! Funktioniert hervorragend. Tolle Webseite, tolle Tipps!
Freut mich, vielen Dank! :-)