2.4 KiB
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 exportBackupPassword: 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
Also notification settings are required for e-mail, matrix 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;