Никто, к сожалению, не застрахован от непредвиденных обстоятельств. Вот оборудование стабильно функционирует — но стоит внести, казалось бы, незначительные изменения в конфиг, как работоспособность нарушается.

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

}

Разберем последовательно, за что отвечает данный скрипт.

  1. Зачищает кэш DNS (на случай, если адрес уже устаревший, недействительный).
  2. Удаляет файлы бэкапов, созданных при предыдущем запуске скрипта (мы же не хотим, чтобы со временем память роутера забилась идентичными файлами резервного копирования, ведь так?).
  3. Создает файл бэкапа. Этот файл предназначен для восстановления настроек только на устройстве, на котором он создан.
  4. Отправляет письмо с файлом бэкапа на заданный e-mail адрес.
  5. Создает файл скрипта настроек *.rsc. Это читабельный текстовый файл, который вы можете экспортировать на другой идентичный роутер.
  6. Отправляет письмо с файлом скрипта настроек на заданный 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 не умеет прикреплять к сообщению более одного файла за раз: вам будут приходить два письма.