Автоматическое Восстановление Последней Сохраненной Конфигурации В Роутерах Mikrotik

Многие сталкивались с замечательной функцией, например, на коммутаторах HPE — если по каким-то причинам конфиг не сохраняется вручную, после перезагрузки происходит откат предыдущего сохраненного конфига.

Технология несколько безжалостная (забыл сохранить — сделай еще раз), но справедливая и надежная.

А вот в Микротике такой функции в базе нет, хотя давно известна примета: «дистанционно настроить роутер – к дальнему пути».

А превратить в «кирпич до перезагрузки» даже роутер рядом очень легко.

Как ни странно, ни одного мануала по этому поводу я не нашел, поэтому пришлось делать это вручную.

Первым делом создаем скрипт для создания резервной копии конфигурации.

В дальнейшем мы будем «сохранять» состояние этим скриптом.

Пойдем Система -> Скрипты и создайте скрипт, например, «fullbackup» (разумеется, без кавычек).



system backup save dont-encrypt=yes name=Backup_full

Пароль использовать не будем, так как в противном случае его придется указывать явно в соседнем скрипте; Я не вижу смысла в такой «защите».

Создаем второй скрипт, который будет восстанавливать конфигурацию при каждом запуске.

Назовем это «full_restore».

Этот сценарий немного сложнее.

Дело в том, что при восстановлении конфигурации происходит и перезагрузка.

Без использования какого-либо механизма управления мы получим циклическую перезагрузку.

Механизм управления оказался немного «дубовым», но надежным.

При каждом запуске скрипт сначала проверяет наличие файла «restore_on_reboot.txt».

Если такой файл существует, то требуется восстановление из резервной копии.

Удаляем файл и делаем рекавери с последующей перезагрузкой.

Если такого файла нет, то просто создаем этот файл и ничего не делаем (т. е.

это значит, что это уже вторая загрузка после восстановления из резервной копии).



:if ([/file find name=restore_on_reboot.txt] != "") do={ /file rem restore_on_reboot.txt; system backup load name=Backup_full password=""} else={ /file print file=restore_on_reboot.txt }

Лучше всего протестировать скрипты на этом этапе, прежде чем добавлять задачу в планировщик.

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

Пойдем Система -> Планировщик и добавьте новую задачу.

В поле Время начала указывать запускать (да, именно так мы и пишем, буквами) В поле По событию мы пишем

/system script run full_restore

Дальше, запусти скрипт сохраняющий конфиг! Мы не хотим делать все это снова, не так ли? Добавляем в настройки какой-нибудь «мусор» для проверки, или удаляем что-то важное и, наконец, пробуем перезагрузить роутер.

Да, многие наверняка скажут: «Есть безопасный режим!» Однако он не сработает, если в результате работы вам придется повторно подключиться к роутеру (например, если вы измените адрес или параметры сети Wi-Fi, через которую вы подключаетесь).

И не стоит забывать о возможности «забыть» включить этот режим.

P.S. Главное теперь не забыть «сохраниться».

Теги: #Администрирование сервера #бэкап #скрипт #Конфигурация #mikrotik #config #backup

Вместе с данным постом часто просматривают: