Никто, к сожалению, не застрахован от непредвиденных обстоятельств. Вот оборудование стабильно функционирует — но стоит внести, казалось бы, незначительные изменения в конфиг, как работоспособность нарушается.
Чтобы не настраивать все заново, на помощь нам приходит бэкап. Но вот беда — многие вспоминают о резервном копировании слишком поздно. Избежать подобной трагедии поможет эта инструкция: с ее помощью вам достаточно один раз настроить MikroTik на автоматический бэкап с последующим отправлением файлов на почту.
Открываем System (1) -> Scripts (2) и добавляем (3) новый скрипт. У нас он называется backup_email (4), вы же можете назвать его как угодно.
В поле Source (5) вставляем сам скрипт:
{ :log info "Starting Backup Script..."; :local sysname [/system identity get name]; :local sysver [/system package get system version]; :log info "Flushing DNS cache..."; /ip dns cache flush; :delay 2; :log info "Deleting last Backups..."; :foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] \ "$sysname-backup-"]]!="nil") do={/file remove $i}}; :delay 2; :local smtpserv [:resolve "smtp.yandex.ru"]; :local Eaccount [/tool e-mail get user]; :local pass [/tool e-mail get password]; :local backupfile ("$sysname-backup-" . \ [:pick [/system clock get date] 7 11] . [:pick [/system \ clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".backup"); :log info "Creating new Full Backup file..."; /system backup save name=$backupfile; :delay 2; :log info "Sending Full Backup file via E-mail..."; /tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv \ port=587 user=$Eaccount password=$pass start-tls=yes file=$backupfile \ subject=("$sysname Full Backup (" . [/system clock get date] . ")") \ body=("$sysname full Backup file see in attachment.\nRouterOS version: \ $sysver\nTime and Date stamp: " . [/system clock get time] . " " . \ [/system clock get date]); :delay 5; :local exportfile ("$sysname-backup-" . \ [:pick [/system clock get date] 7 11] . [:pick [/system \ clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".rsc"); :log info "Creating new Setup Script file..."; /export verbose file=$exportfile; :delay 2; :log info "Sending Setup Script file via E-mail..."; /tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv \ port=587 user=$Eaccount password=$pass start-tls=yes file=$exportfile \ subject=("$sysname Setup Script Backup (" . [/system clock get date] . \ ")") body=("$sysname Setup Script file see in attachment.\nRouterOS \ version: $sysver\nTime and Date stamp: " . [/system clock get time] . " \ " . [/system clock get date]); :delay 5; :log info "All System Backups emailed successfully.\nBackuping completed."; }
Разберем последовательно, за что отвечает данный скрипт.
- Зачищает кэш DNS (на случай, если адрес уже устаревший, недействительный).
- Удаляет файлы бэкапов, созданных при предыдущем запуске скрипта (мы же не хотим, чтобы со временем память роутера забилась идентичными файлами резервного копирования, ведь так?).
- Создает файл бэкапа. Этот файл предназначен для восстановления настроек только на устройстве, на котором он создан.
- Отправляет письмо с файлом бэкапа на заданный e-mail адрес.
- Создает файл скрипта настроек *.rsc. Это читабельный текстовый файл, который вы можете экспортировать на другой идентичный роутер.
- Отправляет письмо с файлом скрипта настроек на заданный e-mail адрес.
В примере указан скрипт для Яндекс Почты. Чтобы использовать сервис Gmail, замените в скрипте smtp.yandex.ru на smtp.gmail.com. Чтобы использовать сервис Рамблер Почта, замените в скрипте smtp.yandex.ru на mail.rambler.ru.
Также обратите внимание на эти две строки:
:local Eaccount [/tool e-mail get user]; :local pass [/tool e-mail get password];
Вы можете указать свои данные (почтовый ящик с паролем — именно сюда будет автоматически отправляться бэкап) в скрипте таким образом:
:local Eaccount ПОЧТА@yandex.ru; :local pass ВАШПАРОЛЬ;
Или же оставить строки неизменными. Тогда скрипт будет обращаться к данным, указанным в настройках MikroTik. Их вы можете выставить здесь Tools (6) -> Email (7).
Теперь при срабатывании этого скрипта будет производиться резервное копирование и отправляться на указанную вами почту. Остается лишь настроить планировщик, чтобы процесс был полностью автоматизирован.
Открываем System (8) -> Scheduler (9), добавляем новую задачу (10). Называем ее как угодно (у нас – AutoBackup (11). Выставляем дату начала и интервал, в который будет срабатывать скрипт (12). В нашем случае бэкап с его последующим отправлением на почту будет происходить раз в 7 дней. В поле On Event указываем название вашего скрипта (мы назвали скрипт backup_email, соответственно, его и указали (13).
С этого момента MikroTik раз в 7 дней будет высылать на почту два файла: бэкап и скрипт настроек. Учтите, что на данный момент RouterOS не умеет прикреплять к сообщению более одного файла за раз: вам будут приходить два письма.