Как отправлять по электронной почте файлы резервного копирования MikroTik и сценарии конфигурации

Как говорится — Все люди делятся на тех кто уже потерял когда то часть информации и теперь уже делает резервные копии, и на тех с кем это пока не случилось. Но это временно.
Поэтому рассмотрим на конкретном примере скрипт который будет отправлять вам на почту раз в неделю конфиг вашего микрота и бэкап.
(В подобных скриптах, как правило, указывается пароль в открытом виде от почты на которую вы будете слать бэкапы, поэтому крайне рекомендую завести для этих целей отдельный ящик, а с него можно настроить уже пересылку на основной e-mail )
Либо использовать для этих целей ящик на Gmail. Но что бы настроить все как нужно — придется исполнить некий танец с бубнами. В обмен на безопасность. Поэтому, если готовы совершить некий шаманский ритуал — добро пожаловать. Если нет — выберете почтовый сервер попроще.

Шаг 1: Включение двухфакторной авторизации.

Дело в том, что при отправки почты через smtp.gmail пароль который вы используете для входа в почтовый ящик не подойдет. Нужно будет создать специальный. Под конкретное действие.
Для этого в вашем аккаунте Gmail должна быть включена двухфакторная аутентификация. Иначе нужного раздела меню просто не будет.
Для этого проделаем следующие действия.
Заходим в свой почтовый ящик на Gmail и переходим в раздел Аккаунт
Отправка на почту файлов резервного копирования MikroTik
Переходим в раздел Безопасность и видим что двухэтапная аутентификация отключена. (Если у вас она уже подключена — переходите к следующему шагу)
Нажимаем  на данный раздел и на следующей странице вам рассказывают насколько это здорово что у вас она скоро будет. Нажимаем одну единственную кнопку с надписью Начать. Дальше нас попросят еще раз ввести пароль от аккаунта  и предлагают принять sms на номер телефона к которому привязан данный аккаунт
Отправка на почту файлов резервного копирования MikroTik
После того как вы получите sms и введете код в соответствующее поле вам предложат ввести номер на который будет приходить sms если вы вдруг решите зайти в свой аккаунт в первый раз с нового устройства. По умолчанию подтягивается тот телефон, который привязан к текущему почтовому ящику. Нажимаем кнопку Далее и получаем сообщение что все предварительные действия закончились успешно, и мы теперь можем, наконец, включить эту самую,  двухэтапную аутентификацию. Нажимаем Включить и нас возвращает в Аккаунт, где мы можем лицезреть что данная опция включена
Отправка на почту файлов резервного копирования MikroTik

Отправка на почту файлов резервного копирования MikroTik

Отправка на почту файлов резервного копирования MikroTik

Шаг 2: Получение кода доступа

Кликаем на раздел Двухэтапная аутентификация. Нас в очередной раз просят ввести пароль от аккаунта. После этого попадаем на страницу с разными настройками. Опускаемся в самый низ и находим раздел Пароли приложений. Переходим в данный раздел
Отправка на почту файлов резервного копирования MikroTik
Нажимаем на Приложение и в выпадающем меню выбираем Другое.
Отправка на почту файлов резервного копирования MikroTik
Придумываем произвольное название, и нажимаем кнопку Создать.
Нам сгенерируется шестнадцатизначный пароль. Копируем его себе в «Блокнот» Это тот пароль который нам понадобится для отправки наших бекапов из Микротика
Отправка на почту файлов резервного копирования MikroTik
На этом с Gmail закончили. Теперь переходим к настройками самого Микротика

Шаг 3: Проверяем что Микротик нормально отправляет тестовое письмо.

Перед тем как бросится во все тяжкие со скриптом — для начала проверим что Микротик шлет нам на почту хоть что ни будь.
Переходим в Микротик, выбираем ToolsEmailSend Email. Откроется форма для отправки разового письма. То что нам и нужно для проверки
Заполняем поля следующим образом:

    • Address: IP сервера, используемого для отправки почты (173.194.220.108). Почему то стандартный smtp.gmail.com у меня не захотел работать. Разбираться на данный момент — лень, поэтому использую ip
    • Port: Порт сервера 587
    • User: Тут указываем полный адрес нашего почтового ящика на gmail в формате login@gmail.com
    • Password: Тот самый пароль  приложения который мы получили в Gmail
    • TLS: start tls
    • From: Адрес электронной почты, от имени кого придет письмо
    • To: Кому мы отправляем письмо. Тут указываем полный адрес нашего почтового ящика на gmail. Либо любой другой
    • Subject: Тема/Заголовок письма
    • Body: Текст самого письма

Отправка на почту файлов резервного копирования MikroTik
Нажимаем на кнопку Send Email и если Микротик ни на что не проругался переходим в почтовый ящик и проверяем пришло ли письмо.
Отправка на почту файлов резервного копирования MikroTik
Отлично! Разовое письмо дошло. Теперь можно перенести данные настройки на постоянную основу.
Выбираем еще раз ToolsEmail и переносим данные из разовой формы в постоянную. Нажимаем ApplyOK и на этом еще один этап настройки считаем оконченным
Отправка на почту файлов резервного копирования MikroTik

Шаг 4: Его величество скрипт.

Ниже находится скрипт который нужно вставить в соответствующее поле внеся единственное изменение — указав свой e-mail адрес.
Скрипт работает как на 6 так и на 7 версии Микротика.

{
:log info "starting backup process...";

:local sysver [/system package get routeros version];
:local sysname [/system identity get name];
:local rbmodel [/system router get model];
:local rbuptime [/system resource get uptime];

:log info "flushing DNS cache...";
/ip dns cache flush;
:delay 2;

:log info "deleting latest backups...";
:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] "$sysname-"]]!="nil") do={/file remove $i}};
:delay 2;

:log info "creating backup file...";
:local backupfile ("$sysname-" . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . "-v$sysver" . ".backup");
/system backup save name=$backupfile;
:delay 2;

:log info "creating script file...";
:local exportfile ("$sysname-" . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . "-v$sysver" . ".rsc");
/export show-sensitive file=$exportfile;
:delay 2;

:local files ($backupfile,$exportfile);

:log info "sending files via email...";
/tool e-mail send to=user@gmail.com file=$files subject=("$rbmodel backup (" . [/system clock get date] . ")") body=("$sysname backup files are in the attachment.\nTime and Date: " . [/system clock get time] . " " . [/system clock get date] . "\n\nModel: $rbmodel\nRouterOS: $sysver\nUptime: $rbuptime");
:delay 4;

:log info "...system backup completed";
}

Вот в этом конкретном месте вы должны заменить логин user, на ваш
Отправка на почту файлов резервного копирования MikroTik

Коротко о том что делает скрипт.
Сначала берет в переменные имя, модель, версию ОС, текущее время вашего роутера. Все это будет добавлено в реквизиты письма и в имена файлов с резервными копиями. Это очень удобно когда у вас больше чем один микротик.
Затем удаляет предыдущие бекапы и создает на их месте новые. И, наконец, отправляет письмо с файлами бекапов вам на почту.

Шаг 5: Добавляем скрипт в Микротик

Выбираем в меню SystemScripts. Нажимаем «плюсик», чтобы добавить новый скрипт. В поле Name укажите название скрипта, в поле Source вставьте скрипт и нажмите кнопку Applly. Имя скрипта нам еще понадобится, поэтому скопируйте его себе.
Отправка на почту файлов резервного копирования MikroTik

Теперь важный момент. Нажмите на кнопку Run Script.
Подождите 10-20 секунд и если все в предыдущих эпизодах сделали без ошибок то на почте появится письмо к которому будут прикреплены два файла с нашими бекапами

Отправка на почту файлов резервного копирования MikroTik

Шаг 6: Настройка планировщика

Осталось решить с какой периодичностью будут создаваться резервные копии, и отправляться на email. Каждые сутки вам вряд ли нужно, ну и раз в месяц тоже как то сильно уж большой перерыв. Выберем для примера 14 дней. Не много и не мало.
Для этого выбираем в меню SystemSheduler и нажмите кнопку «плюсик», чтобы добавить новую задачу.

Отправка на почту файлов резервного копирования MikroTik

В открывшемся окне настраиваем параметры задачи:

  • в поле Name указываем имя задачи, например AutoBackup;
  • в поле Interval указываем с какой периодичностью будет выполняться скрипт. Мы указали интервал 14 дней. Для отладки работы планировщика можно указать интервал 5 минут и текущее время Start Time. И не забудьте настроить время на MikroTik в меню System — Clock;
  • в поле On Event указываем, какой скрипт необходимо выполнить. Помните, в предыдущей задаче мы сохранили себе имя нашего скрипта. Пришло время вспомнить его и вставить в данное поле  backup_email;
  • нажимаем кнопку OK для сохранения задачи.

Шаг 7: Танцуем джигу.

На этом настройка в общих чертах окончена. Почему не окончательно? Потому как еще много можно растекаться мыслю по древу правильно ли отправлять в бекапах пароли в открытом виде. Кстати, этот параметр настраивается и можно сделать так сто бы пароли не отображались, ну и много еще всяких мелочей.
Я лишь пытался обезопасить себя от «дурной» работы когда у клиента слетел/сгорел роутер, а на нем стоял офисный vpn к которому подключались десятки сотрудников. И их доступы к VPN, естественно ни кто ни где не сохранил.

Для тех у кого появились сомнения по ходу выполнения гайда — небольшое видео куда и что нажимать

Если у вас есть вопросы по тексту статьи или вы просто хотите «напихать» автору — добро пожаловать в мой телеграм-канал 

Что еще почитать по теме:

Защита Mikrotik от попыток подбора пароля через telnet, ssh и winbox
Как скопировать log Mikrotik
Четыре варианта кнопки «Reset» на устройствах MikroTik
Собственный info-бот в Телеграм
Обход блокировок провайдера при помощи VPN

 

 

«Automated MikroTik Backup and Configuration Script Email Delivery»
«Emailing MikroTik Backups and Configuration Scripts: A Guide»
«Efficiently Send MikroTik Backups and Settings Scripts to Your Email»
«How to Email MikroTik Backup Files and Configuration Scripts»
«MikroTik Backup and Configuration Script Management: Emailing Solutions»
«Streamline Your MikroTik Management: Sending Backups and Scripts via Email»
«MikroTik Backups and Settings Scripts: Email Delivery Made Easy»