Upload backup to server
ℹ️ Info: This script can not be used on its own but requires the base installation. See main README for details.
Description
This script uploads binary backup (/system/backup/save
) and complete
configuration export (/export terse show-sensitive
) to external server.
⚠️ Warning: The used command can hit errors that a script can not handle. This may result in script termination (where no notification is sent) or malfunction of fetch command (where all up- and downloads break) for some time. Failed notifications are queued then.
Sample notification
Requirements and installation
Just install the script:
$ScriptInstallUpdate backup-upload;
Configuration
The configuration goes to global-config-overlay
, these are the parameters:
BackupSendBinary
: whether to send binary backupBackupSendExport
: whether to send configuration exportBackupSendGlobalConfig
: whether to sendglobal-config-overlay
BackupPassword
: password to encrypt the backup withBackupRandomDelay
: delay up to amount of seconds when run from schedulerBackupUploadUrl
: url to upload toBackupUploadUser
: username for server authenticationBackupUploadPass
: password for server authentication
ℹ️ Info: Copy relevant configuration from
global-config
(the one without-overlay
) to your localglobal-config-overlay
and modify it to your specific needs.
Also notification settings are required for e-mail, matrix, ntfy and/or telegram.
Issues with SFTP client
The RouterOS SFTP client is picky if it comes to authentication methods.
I had to disable all but password authentication on server side. For openssh
edit /etc/ssh/sshd_config
and add a directive like this, changed for your
needs:
Match User mikrotik
AuthenticationMethods password
Usage and invocation
Just run the script:
/system/script/run backup-upload;
Creating a scheduler may be an option:
/system/scheduler/add interval=1w name=backup-upload on-event="/system/script/run backup-upload;" start-time=09:25:00;