Cкрипт создает файл резервной копии «backup_file.backup» и отправляет его на электронный адрес, используя вызов функции «Отправить письмо» — SendEmailFunction.
Укажите параметры: SendTo, Subject, MessageText, FileName и Password, для корректной отправки письма.
Функция резервного копирования RouterOS позволяет сохранить текущую конфигурацию устройства, которую затем можно повторно применить на том же или другом устройстве (с тем же названием / номером модели). Это очень полезно, поскольку позволяет без труда восстанавливать конфигурации устройства или повторно применять ту же конфигурацию на устройстве резервного копирования. Файл резервной копии системы также содержит MAC-адреса устройства, которые также восстанавливаются при загрузке файла резервной копии.
Скрипт: Создание бэкапа и отправка на почту
[System] -> [Scripts] -> [+] -> [Name: CreateBackupAndSendEmail] -> [Policy: read, write, policy, test, sensitive]
Код скрипта:
# Variables
:local DeviceName [/system identity get name];
:local Date [/system clock get date];
:local SendTo "destination_mail@mail.com";
:local Subject "\F0\9F\93\A6 BACKUP: $DeviceName [$Date]";
:local MessageText "$DeviceName - device backup file ";
:local FileName "backup_file.backup";
:local Password "Pa$$Word";
# Main script code
/system backup save name=$FileName password=$Password
:local SendMail [:parse [/system script get SendEmailFunction source]];
$SendMail SendTo=$SendTo TextMail=$MessageText Subject=$Subject FileName=$FileName;
⚠️ Если вы не укажете параметр Password файл бэкапа не будет зашифрован. Все данные, включая данные скриптов (токен Telegram, пароль почты) будут доступны.
Если при выполнении скрипта вы получаете ошибку input does not match any value of file — в имени файла содержаться служебные символы, измените имя файла или экранируйте служебные символы MikroTik символом «\».
Добавить запуск скрипта в Планировщик
Для меня достаточно, если устройства будут делать резервную копию настроек 1 раз в неделю.
Для работы скрипта необходимо установить следующие разрешения: read, write, policy, test, sensitive.
[System] -> [Schedule] -> [+] -> [Name: CreateBackupAndSendEmail] - > [Interval: 7d 00:00:00] -> [Policy: read, write, policy, test, sensitive]
Код скрипта:
/system script run CreateBackupAndSendEmail