Бэкап и восстановление сервера The Dude (MikroTik)

Бэкап и восстановление сервера The Dude (MikroTik)

The Dude — мощный инструмент мониторинга сети от MikroTik. Он показывает состояние всех сетевых устройств в реальном времени, строит карту сети, алертит при падениях. Всё хорошо, пока не случается катастрофа.

Что будет, если сервер The Dude выйдет из строя? Вся конфигурация, карта сети, устройства — всё исчезнет. Именно поэтому резервная копия — не опция, а обязанность.

В этой статье — как быстро создать бэкап сервера The Dude и восстановить его после сбоя. Без воды, только практика.


Когда это нужно

Реальные кейсы из практики:

  • RouterOS обновился и The Dude потерял конфигурацию
  • Роутер вышел из строя, нужно поднять всё на новом железе
  • Кто-то случайно сбросил настройки
  • Переезд на новый MikroTik
  • Просто хочется спать спокойно

Ошибка новичков: делать бэкап после того, как всё сломалось. Делайте до.


Быстрый старт

  1. Остановить The Dude сервер
  2. Экспортировать базу данных
  3. Скачать файл с роутера на компьютер
  4. При восстановлении — загрузить файл обратно и импортировать
  5. Включить The Dude

Как сделать бэкап сервера The Dude

Шаг 1 — Остановить The Dude

Перед созданием бэкапа сервер нужно остановить. Активная база данных во время копирования может дать повреждённый файл.

В Winbox: Dude → Settings → снять галочку Enabled → OK

Или через CLI:

/dude set enabled=no

Шаг 2 — Экспортировать базу данных

В терминале Winbox (или SSH) выполняем команду экспорта:

/dude export

Затем создаём файл резервной копии с именем:

/dude <a class="wpil_keyword_link" href="https://it-apteka.com/category/rezervnoe-kopirovanie/" target="_blank"  rel="noopener" title="Резервное копирование" data-wpil-keyword-link="linked"  data-wpil-monitor-id="499">backup</a> save name=TMG00001

Замените TMG00001 на любое понятное имя. Рекомендую добавлять дату:

/dude backup save name=dude-backup-2024-01-15

Бэкап создаётся быстро. Когда увидите приглашение командной строки — готово.

Шаг 3 — Скачать файл с роутера

Файл создаётся на роутере. Его нужно обязательно скачать на компьютер или внешний сервер — хранить бэкап только на самом роутере бессмысленно.

В Winbox: Files → найти файл бэкапа → перетащить на рабочий стол (или кнопка Download).

Через SCP:

scp <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ef8e8b828681afded6ddc1ded9d7c1d7d7c1de">[email&#160;protected]</a>:/dude/dude-backup-2024-01-15.backup ./

💡 Из практики: После скачивания сразу проверьте размер файла. Если 0 байт — что-то пошло не так, повторите экспорт.

Шаг 4 — Включить The Dude обратно

/dude set enabled=yes

Или в Winbox: Dude → Settings → поставить галочку Enabled → OK.


Как восстановить сервер The Dude после сбоя

Сервер упал, конфигурация пропала, подключаетесь — экран пустой. Спокойно. Вот что делаем:

Шаг 1 — Остановить The Dude

Заходим в настройки и останавливаем сервер:

/dude set enabled=no

Шаг 2 — Загрузить файл бэкапа на роутер

В Winbox: Files → перетащить файл бэкапа в окно Files (или кнопка Upload).

Через SCP:

scp ./dude-backup-2024-01-15.backup <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3150555c585f710008031f0007091f09091f00">[email&#160;protected]</a>:/dude/

Шаг 3 — Импортировать бэкап

/dude backup load name=dude-backup-2024-01-15

Дождитесь завершения импорта.

Шаг 4 — Включить The Dude и перезагрузить

/dude set enabled=yes

После включения рекомендуется перезагрузить роутер для чистого старта:

/system reboot

Шаг 5 — Проверить результат

Подключаетесь клиентом The Dude к роутеру. Если всё сделано правильно — карта сети и все устройства на месте.

/dude print

Должно показать enabled: yes и status: running.


Автоматический бэкап через Scheduler

Делать бэкап руками — значит рано или поздно забыть. Автоматизируем.

Создаём скрипт:

/system script add \
    name=dude-auto-backup \
    source={
        /dude set enabled=no
        :delay 3s
        /dude backup save name=("dude-" . [/system clock get date])
        /dude set enabled=yes
    }

Создаём задание в планировщике — каждый день в 03:00:

/system scheduler add \
    name=dude-daily-backup \
    start-time=03:00:00 \
    interval=1d \
    on-event=dude-auto-backup \
    comment="Daily Dude backup"

Проверяем что задание создано:

/system scheduler print

⚠️ Важно: Скрипт на время бэкапа останавливает The Dude. Выбирайте ночное время, когда мониторинг некритичен.


Чистка и оптимизация базы данных SQLite3

Со временем база данных The Dude фрагментируется и разрастается — графики тормозят, роутер начинает подтупливать. Причина: SQLite не освобождает место автоматически после удаления данных. Нужна ручная чистка.

⚠️ Важно: Если диск на MikroTik заканчивается, The Dude может подвесить маршрутизатор и убить базу данных. Это остановит мониторинг и, возможно, весь сегмент сети. Не доводите до этого.

Что чистим

В базе dude.db основное место занимают пять таблиц:

  • outages — история аварий и событий
  • chart_values_raw — сырые данные графиков (самая жирная)
  • chart_values_10min — усреднённые данные за 10 минут
  • chart_values_2hour — усреднённые за 2 часа
  • chart_values_1day — суточные данные

Инструменты

Для работы с SQLite напрямую понадобится sqlite3:

  • Windows: скачать SQLite tools — распаковать в папку, например C:\SQLitetools\
  • Linux / macOS: sqlite3 уже есть или ставится одной командой
  • Опционально: DB Browser for SQLite — если хочется GUI для просмотра структуры

Пошаговая чистка (Windows)

Шаг 1. Остановить The Dude в Winbox: Dude → Settings → снять Enabled → OK

Шаг 2. Скачать файл базы данных. В Winbox: Files → найти dude/dude.db → перетащить в папку с SQLite tools

Шаг 3. Открыть консоль в папке с SQLite tools. Кликнуть в адресную строку проводника, ввести cmd, нажать Enter.

Шаг 4. Выполнить чистку:

sqlite3 dude.db

Внутри консоли sqlite3:

delete from outages;
delete from chart_values_raw;
delete from chart_values_10min;
delete from chart_values_2hour;
delete from chart_values_1day;
VACUUM;
.quit

Пошаговая чистка (Linux / macOS)

# Скачать базу с роутера
scp admin@192.168.88.1:/dude/dude.db ./

# Подключиться и почистить одной командой
sqlite3 dude.db "delete from outages; delete from chart_values_raw; delete from chart_values_10min; delete from chart_values_2hour; delete from chart_values_1day; VACUUM;"

Загрузить очищенную базу обратно

После чистки загружаем файл обратно на роутер.

В Winbox: Files → перетащить dude.db в окно Files (в папку dude/).

Через SCP:

scp ./dude.db admin@192.168.88.1:/dude/dude.db

Запускаем The Dude обратно:

/dude set enabled=yes

💡 Из практики: После VACUUM файл может уменьшиться в 2–5 раз. Если база была 2 ГБ — станет 400 МБ. Начальство не заметит, но роутер скажет спасибо.

Если нужно почистить только часть данных

Не хотите удалять всё? Можно удалить только старые данные:

-- Удалить сырые данные старше 30 дней
delete from chart_values_raw
  where time < strftime('%s', 'now', '-30 days');

-- Только очистить историю аварий
delete from outages;

VACUUM;

Частые ошибки и подводные камни

«Файл бэкапа есть, но восстановление не работает»
Проверьте версию RouterOS. Бэкап с RouterOS 6.x может не импортироваться на RouterOS 7.x. Всегда документируйте версию при создании бэкапа.

/system resource print | grep version

«После восстановления экран The Dude пустой»
Не забыли перезагрузить роутер после импорта? Именно перезагрузка применяет изменения корректно.

«Файл бэкапа 0 байт»
The Dude не был остановлен перед экспортом. Остановите, подождите 5 секунд, повторите.

/dude set enabled=no
:delay 5s
/dude backup save name=dude-fix

«Не могу скачать файл через Winbox»
Попробуйте SCP или FTP. Winbox иногда капризничает с большими файлами.

«После перезагрузки The Dude не запускается»
Проверьте лицензию — The Dude требует уровень L4 и выше:

/system license print

Полезные хаки

Добавить дату в имя бэкапа автоматически:

/dude backup save name=("dude-" . [/system clock get date])

Проверить все файлы The Dude на роутере:

/file print where name~"dude"

Быстрая проверка статуса:

/dude print

Посмотреть логи The Dude:

/log print where topics~"dude"

Отправить бэкап на FTP-сервер сразу после создания:

/tool fetch \
    address=192.168.1.100 \
    src-path=/dude/dude-backup.backup \
    dst-path=/backups/dude-backup.backup \
    mode=ftp \
    user=backupuser \
    password=yourpassword \
    upload=yes

Проверка и диагностика

После восстановления проверьте:

# Статус сервера
/dude print

# Логи — нет ли ошибок
/log print where topics~"dude"

# Место на диске
/system resource print | grep disk

Если The Dude запустился, но карта пустая — импорт не прошёл. Повторите шаги восстановления, убедитесь что файл загружен в правильную директорию.


Чек-лист

  • ☐ The Dude остановлен перед созданием бэкапа
  • ☐ Бэкап создан командой /dude backup save
  • ☐ Файл скачан с роутера на компьютер или внешний сервер
  • ☐ Размер файла больше 0 байт
  • ☐ Автобэкап настроен через Scheduler
  • ☐ База SQLite почищена (chart_values_*, outages) и VACUUM выполнен
  • ☐ Тест восстановления выполнен хотя бы один раз

Резюме

Процедура простая: остановить → экспортировать → скачать. Восстановление: остановить → загрузить → импортировать → включить → перезагрузить.

Главное правило — хранить бэкап не на самом роутере. Роутер умер → бэкап на нём тоже умер. Копируйте файл на компьютер, NAS или облако.

Настройте автобэкап через Scheduler один раз — и забудьте. Пусть работает само, пока вы занимаетесь реальными задачами.

over_dude
Author: over_dude

Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх