В прошлой статье мы рассмотрели основные виды резервного копирования на Микротик (RouterOS). Итого у нас есть системный backup и экспорт конфигурации. Сегодня мы поговорим немного об автоматизации данного процесса и отправку созданных бэкапов на email.
Предположим, что у нас не один девайс, а несколько и со всех них нам бы хотелось иметь резервную копию как бинарного вида, так и экспорта. Встроенными графическими средствами нам автоматизации не добиться, будем использовать простенький скрипт. Для примера я возьму обычный CHR 6.48.2.
Настройка отправки почты
Для начала нужно указать какую почту и сервер smtp мы будем использовать для отправки. Перейдём в Tools – E-Mail:
- Server – сервер отправки сообщений;
- Port – порт в нашем случае smtp сервера;
- Start TLS – Yes;
- From и User – задаём email с которого будет осуществляться отправка.
Отправим тестовое сообщение самому себе командой:
/tool e-mail send to=mikrotiklab@yandex.ru from=mikrotiklab@yandex.ru body=test
Автоматизация резервного копирования
Как я говорил ранее, встроенных графических утилит для подобной задачи в RouterOS нет. Но мы будем использовать скрипт, который работает по следующему алгоритму:
- Задаёт глобальную переменную для системного бэкапа. По сути, генерирует имя из SystemID, даты, времени;
- Задаёт глобальную переменную для экспорта, аналогично п. 1;
- Создаёт бинарный бэкап без шифрования с именем из п. 1;
- Экспортирует конфиг с именем из п. 2;
- Отправляет письмо с бинарником;
- Отправляет письмо с экспортом;
- Удаляет созданные файлы резервных копий.
Наше дело добавить скрипт в System – Scripts.
Сам скрипт:
:local backupfile ([/system identity get name] ."-" . [:pick [/system clock get date] 7 11] ."-" . [:pick [/system clock get date] 0 3] ."-" . [:pick [/system clock get date] 4 6] . ".backup"); :local exportfile ([/system identity get name] ."-" . [:pick [/system clock get date] 7 11] ."-" . [:pick [/system clock get date] 0 3] ."-" . [:pick [/system clock get date] 4 6] . ".rsc"); /system backup save dont-encrypt=yes name=$backupfile; :delay 5; /export file=$exportfile; :delay 5; :local date [/system clock get date]; :local body1 "$date Mikrotik backup"; :local body2 "$date Mikrotik export"; /tool e-mail send to="mikrotiklab@yandex.ru" body="$body1" subject="$body1" file=$backupfile; :delay 5; /tool e-mail send to="mikrotiklab@yandex.ru" body="$body2" subject="$body2" file=$exportfile; :delay 5; /file remove $backupfile; /file remove $exportfile; :log warning "backup, export e-mail finished";
Запустим его из консоли:
/system script run Backup
В процессе работы создадутся в корне flash 2 файла. После отправки на e-mail они удаляться. Проверим почту.
К сожалению, вложение двух файлов в одно письмо я не осилил, как сделать, поэтому сделал отдельными. Если будут предложения, пишите их в комментариях.
Последним этапом зашедулим данный скрипт через планировщик в удобное для нас время.
По заданным параметрам, задание будет стартовать каждый день в 23:00.
Исправление ошибок
В процессе написания данной статьи я столкнулся с ошибкой аутентификации при отправке писем. В логах были вот такие события. Я сначала подумал, что пароль не верный, сменил, не помогло. Далее стал ковырять tool – e-mail, убрал поле from, пытался всячески отправлять через терминал разными вариациями – не помогло.
Решается оно довольно просто, но не логично. В настройках почтового ящика нужно включить поддержку протокола POP.
После чего, письма отправляются без проблем.
И так, в данной статье вы узнали как настроить на MikroTik автоматическую отправку созданных Backup email. Если вам понравился материал можете паставить 5 звезд и написать в комментариях слова благодарности:).
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдёте для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.
А можно ли настроить скрипт так, чтобы также делался экспорт в .rsc вместе с backup-ом? Чтобы на почту приходило два файла — backup-файл и .rsc-файл.
Добрый день
Конечно можно
Можно поискать на просторах готовое решение
Такой вопросу меня возник. Получается что при таком раскладе мы передаем sensitive информацию в файле экспорта .rsc в открытом виде? Т.е. если условный злоумышленник перехватит файл экспорта на почтаре, то потенциально завладеет всеми паролями vpn и прочей информацией которая будет экспортирована? Или я что-то недопонимаю?
Добрый день
Все верно, перехватит. По этому надо использовать ключик hide-sensitive для скрытия чувствительной информации