Ноя 142024
 

mikrotik logo Иногда возникает необходимость, при которой микротик находится ну очень далеко, а конфигурацию надо поменять, но уверенности, что все заработает нормально, ну прям совсем нет. И если что, простая перезагрузка железки не поможет, так как конфига уже испорчена. Эта функция прекрасно и просто реализована в том же пуле семейства оборудования CISCO, но нет в микротиках. Поэтому придется немного пофокусничать, и выйти из положения. По итогу, мы сможем вернуться к исходной конфигурации, через заданный промежуток времени, если что то пойдет не так.

Первое что делаем — создаем скрипт создания резервной копии конфигурации. В дальнейшем «сохранять» состояние будем именно этим скриптом.
Идем в System -> Scripts и создаем скрипт, допустим, «fullbackup» (само-собой без кавычек).

system backup save dont-encrypt=yes name=/flash/Backup_full

Пароль не будем использовать, так как иначе его придется указывать в явном виде в соседнем скрипте, смысла от такой «защиты» не вижу.
Создаем второй скрипт, который будет восстанавливать конфигурацию при каждом запуске. Назовем его «full_restore».
Этот скрипт несколько сложнее. Дело в том, что при восстановлении конфигурации также происходит перезагрузка. Без использования какого-либо контрольного механизма мы получим циклический ребут.
Контрольный механизм получился слегка «дубовый», но зато надежный. При каждом запуске скрипта, сначала происходит проверка на наличие файла «restore_on_reboot.txt».
Если такой файл есть — значит требуется восстановление из бэкапа. Удаляем файл и делаем восстановление с последующей перезагрузкой.
Если такого файла нет — просто создаем этот файл и ничего не делаем (т.е. значит это уже вторая загрузка, которая после восстановления из бэкапа).

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

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

Идем в System -> Scheduler и добавляем новую задачу.
В поле Start time указываем startup (да, так и пишем, буквами)
В поле On Event пишем

/system script run full_restore

Далее, запускаем скрипт сохраняющий конфиг! Мы же не хотим делать всё это еще раз?

Добавляем какой-нибудь «мусор» в настройки для проверки, либо удаляем что-то важное и наконец, пробуем перезагрузить роутер.

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

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

Возможно есть более простой вариант, когда нужнно сразу и срочно, тогда поможет вот такой вариант:

/system backup save name=reload
delay 600
/system backup load name=reload.backup

Где delay — это 60 минут.

Полезные ссылки:
Автоматическое восстановление последней сохраненной конфигурации

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)