Сегодня статья о том как отправить бекап настроек микротика по электронной почте, для этого зайдём в панель управления роутеров в раздел Scripts

Задаём название нашего скрипта, к примеру conf-backup

В Source пишем такой скрипт:
:local date [/system clock get date]
:local time [/system clock get time]
:local info [/system identity get name]
:local serial [/system routerboard get serial-number]
:local who "Mikrotik-Moscow"
:local email "test@example.ru"
/system backup save name=($who."_backup_bin")
:delay 3s
:local files ($who."_backup_bin.backup")
/tool e-mail send server="192.168.1.10" port="25" to="$email" from="Mikrotik@$who.it" subject="Mikrotik $who" body="Autobackup $info, serial number: $serial , data: $date $time" file="$files"
:delay 30s
/file remove ($who."backup_bin.backup")
:log info message="Backup router=$info end"
Теперь давайте разберём весь скрипт, чтобы было понятно:
:local date [/system clock get date]
:local time [/system clock get time]
:local info [/system identity get name]
:local serial [/system routerboard get serial-number]
:local who "Mikrotik-Moscow"
:local email "test@example.ru"
Тут мы создаём переменные, например date принимает значение команды /system clock get date ( получает дату ), можно в терминале прописать /put [/system clock get date] выведет текущую дату, формат зависит от версии RouteOS.
Строчка :local email “test@example.ru”, в ней задаётся переменная email с адресом почтового ящика, куда мы будем направлять письмо с файлами бекапа.
:local who “Mikrotik-Moscow” в кавычках просто задаём имя отправителя, которое будет в отправленном письме, переменная who будет иметь значение адреса почтового ящика.
/system backup save name=($who.”_backup_bin”) команда для создания файла бекапа, такого же как вы можете создать в winbox с помощью кнопки BACKUP

:local files ($who.”_backup_bin.backup”) – присвоим переменной files имя созданного файла бекапа.
:delay 30s – задержка в секундах, перед выполнением следующей команды
Теперь сам отправляем сообщение с помощью этой команды:
/tool e-mail send server=”192.168.1.10″ port=”25″ to=”$email” from=”Mikrotik@$who.it” subject=”Mikrotik $who” body=”Autobackup $info, serial number: $serial , data: $date $time” file=”$files”
где, server – указываем IP 192.168.1.10
нашего почтового сервера и порт 25
, если обратите внимание в строке переменные $email, $who, $files именно они будут подставляться в строку, т.е. данные, которые определили в переменные ранее.
/file remove ($who.”backup_bin.backup”) – удаляет в микротике созданный файл бекапа для отправки
:log info message=”Backup router=$info end” – пишем в лог info микротика сообщение
Для проверки можно запустить скрипт нажав кнопку Run script
Я специально не стану заострять внимание на настройки почтового сервера, это отдельная тема, если у вас жестокая политика почтового сервера, нужно разрешать принимать сообщения от анонимных пользователей с ip адреса микротика, если направите в почтовик со спамфильтром и микротик находится не во внутренней сети с почтовиком, то велик шанс попасть в спам.
Можно настроить шифрование файла бекапа с использование пароля, нужно добавить в
/system backup save name=($who.”_backup_bin”) password=”ПАРОЛЬ” encryption=”aes-sha256″
рекомендую использовать пароль, особенно, если бы будете отправлять файл в открытом виде, без использовании tls