Mikrotik отправить бекап по почте

Автор: | 22 марта, 2025

Сегодня статья о том как отправить бекап настроек микротика по электронной почте, для этого зайдём в панель управления роутеров в раздел 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