Никто, к сожалению, не застрахован от непредвиденных обстоятельств. Вот оборудование стабильно функционирует — но стоит внести, казалось бы, незначительные изменения в конфиг, как работоспособность нарушается.
Чтобы не настраивать все заново, на помощь нам приходит бэкап. Но вот беда — многие вспоминают о резервном копировании слишком поздно. Избежать подобной трагедии поможет эта инструкция: с ее помощью вам достаточно один раз настроить 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 не умеет прикреплять к сообщению более одного файла за раз: вам будут приходить два письма.


