На примере роутера MikroTik продемонстрируем процесс настройки резервного копирования на электронную почту и FTP.
В качестве тестового стенда в данной статье мы используем Mikrotik с версией RouterOS 7.19.6 (stable).
Настройка состоит из нескольких этапов:
Настройка Email (SMTP)
Сначала настроим параметры отправки почты, это можно сделать через графический интерфейс или терминал
Зайдем в меню Tools — Email и введем необходимые настройки
Либо через терминал
/tool e-mail set server=smtp.yandex.ru port=465 from="router@example.ru" \ user="router@example.ru" password="your-password" tls=yes
Для проверки корректности настроек следует использовать следующую команду:
/tool e-mail send to="your@email.com" subject="Test"
где your@email.com – ваш почтовый ящик
Создание скрипта резервного копирования
Перейдите в System → Scripts → Add (или через терминал).
Имя скрипта: WeeklyBackup
Листинг скрипта:
# ===================== НАСТРОЙКИ =====================
# Кому отправлять письмо
:local emailTo "admin@company.com"
#Адрес FTP
:local ftpAddress "192.168.1.100"
# Имя пользователя FTP
:local ftpUser "backup"
# Пароль FTP
:local ftpPassword "you-password"
# Папка на FTP (можно оставить "/")
:local ftpRoot "//"
# Пароль для .backup файла
:local backupPass "StrongPass123!"
# ===================== НАЧАЛО СКРИПТА =====================
:log warning "=== WeeklyBackup started ==="
:local backupFile "weekly-backup.backup"
:local configFile "weekly-config.rsc"
# Удаляем старые версии файлов
/file remove [find name=$backupFile] ; /file remove [find name=$configFile]
:delay 2s
# Создаём binary backup
:do {
/system backup save name=$backupFile password=$backupPass dont-encrypt=no
:log info "Binary backup created successfully"
} on-error={
:log error "Failed to create .backup file"
}
:delay 5s
# Экспорт конфигурации
:do {
/export file=$configFile
:log info "Config export created successfully"
} on-error={
:log error "Failed to create .rsc file"
}
:delay 6s
# Отправка на почту
:do {
/tool e-mail send file="$backupFile,$configFile" to=$emailTo \
subject="Weekly Backup" body="Еженедельный бэкап MikroTik"
:log info "Email sent successfully"
} on-error={
:log error "Failed to send email"
}
:delay 8s
# Загрузка на FTP
:do {
:log info "Starting FTP upload..."
# Backup файл
/tool fetch address=$ftpAddress port=21 mode=ftp \
user=$ftpUser password=$ftpPassword \
src-path=$backupFile dst-path=($ftpRoot . $backupFile) upload=yes
:delay 5s
# Конфигурация
/tool fetch address=$ftpAddress port=21 mode=ftp \
user=$ftpUser password=$ftpPassword \
src-path=$configFile dst-path=($ftpRoot . $configFile) upload=yes
:log info "FTP upload completed successfully"
} on-error={
:log error "FTP upload failed - check FTP server, credentials or path"
}
:log warning "=== WeeklyBackup finished ==="
В скрипте нужно подставить свои данные такие как: адрес FTP сервера, имя пользователя, пароль, адрес электронной почты.
Настройка планировщика (Scheduler)
Перейдите в System → Scheduler → Add.
- Name: WeeklyBackup
- Start Time: 02:00:00 (например, ночь)
- Interval: 1d (ежедневно) или 7d (еженедельно)
- On Event: /system script run WeeklyBackup
- Policy: ftp,read,write,policy,test,password,sensitive (обязательно добавьте нужные права)
Проверка работоспособности
- Запустите скрипт вручную из терминала:
/system script run WeeklyBackup
- Просмотрите логи на предмет ошибок:
/log print where topics~"backup"
Должны появиться записи об успешном создании файлов, отправке письма и загрузке на FTP.
- Проверьте почтовый ящик и FTP-каталог — файлы должны быть на месте.
- Убедитесь, что бинарный бэкап (.backup) защищён паролем, а текстовый экспорт (.rsc) не содержит конфиденциальных паролей (если вы не использовали ключ sensitive).
Рекомендации по безопасности
- Ограничьте доступ к скриптам через настройки пользователей (раздел System → Users). Только доверенные администраторы должны иметь право на просмотр и изменение скриптов.
- Используйте сложные пароли для бэкапа и FTP-сервера.
- Регулярно проверяйте наличие свежих копий на почте и FTP.
- Избегайте передачи паролей в открытом виде — если FTP-сервер находится в интернете, рассмотрите использование SFTP (в RouterOS это поддерживается через mode=sftp с ключами).
- Настройте NTP на роутере, чтобы временные метки в письмах и файлах были корректными.
Дополнительные советы
- Если вы хотите сохранять большее количество копий, добавьте логику ротации (например, удаление старых файлов на FTP по дате).
- Для экономии места можно сжимать экспорт командой /export file=$configFile compress=yes.
- В случае проблем с отправкой почты проверьте, разрешён ли исходящий SMTP в сетевых правилах роутера (возможно, требуется добавить правило firewall).
Заключение
Мы настроили автоматическое резервное копирование конфигурации MikroTik с дублированием на почту и FTP. Теперь ваши настройки в безопасности, и восстановление займёт считанные минуты.
