.github | ||
howto | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
BackupAndUpdate.rsc | ||
LICENSE.md | ||
README.md |
Mikrotik RouterOS automatic backup and update
This script allows you to generate daily backups of MikroTik and send them to an email address. You can also choose to enable automatic RouterOS upgrades or receive notifications exclusively for new firmware versions.
💡 If you have any ideas about the script or you just want to share your opinion, you are welcome to Discussions, or you can open an issue if you found a bug.
Features:
- Select the script's operational mode according to your specific needs (details provided below).
- This script is designed to create full system backups and export configurations.
- Customize the update channel according to your preference.
- With automatic updates activated, the script can be set to apply only patch updates for RouterOS. For instance, should the current RouterOS version be v6.43.6, the script will autonomously upgrade to v6.43.7 (a patch update), while avoiding v6.44.0 (a minor update).*
- The script also incorporates vital device details in the email alerts, facilitating easy identification of the necessary backup among several devices.
- For added security, the script is programmed to stop the automatic update process if it fails to dispatch backups via email.
- Routerboard firmware can be upgraded automatically based on the installed RouterOS version.
Script operating modes:
Backups only - script creates system and config backups and sends them to specified email as an attachment. Using email account as storage for your backups.
Backups and notifications about new RouterOS release - Except backups, script also checks for new RouterOS firmware release and provides this information in the email.
Backups and automatic RouterOS upgrade - Script makes a backup, then checks for new RouterOS version, and if new firmware released, script will initiate upgrade process. By the end, you receive two emails. The first one contains system backups of the previous RouterOS version, the second message will be sent when the upgrade process is done (including backups of the updated system).
How to use
❗️ Important
Ensure your device identity is free from spaces and special characters!System -> Identity
1. Configure parameters
Take the script and configure it's parameters at the begining of the file.
This is not difficult because all parameters are well commented.
Important! Don't forget to provide correct email address for backups and pay attention to scriptMode
variable.
2. Create new script
System -> Scripts [Add]
Important! Script name has to be BackupAndUpdate
Put the script which you configured earlier into the source area.
3. Configure mail server
Tools -> Email
Set your email server parameters. If you don't have one, i recommend to use smtp2go.com service, it allows sending a thousand emails per month for free.
To check email settings, send a test message by running the following command in terminal:
/tool e-mail send to="yourMail@example.com" subject="backup & update test!" body="It works!";
4. Create scheduled task
System -> Scheduler [Add]
Name: Backup And Update
Start Time: 03:10:00
(the start time has to be different for all your mikrotik device in a chain)
Interval: 1d 00:00:00
On Event: /system script run BackupAndUpdate;
Or you can use this command to create the task:
/system scheduler add name="Firmware Updater" on-event="/system script run BackupAndUpdate;" start-time=03:10:00 interval=1d comment="" disabled=no
5. Test the script
When everything is done, you need to make sure that the script is working correctly.
To do so, open a New Terminal and Log window in your WinBox, then run the script manually by executing this command /system script run BackupAndUpdate;
in Terminal.
You will see the script working process in the log window. If the script finished without errors, check your email, there is a fresh message with backups from your MikroTik waiting for you 🎉
Contributors
- DJ5KP, website: dj5kp.de
License
The MIT License (MIT). Please see License File for more information.
If you love this project, please consider giving me a ⭐