Автоматично възстановяване на последната запазена конфигурация в рутерите Mikrotik

Много хора са се сблъсквали с чудесната функция на комутаторите HPE — ако конфигурацията по някаква причина не е запазена ръчно, след рестартиране се зарежда предишната запазена конфигурация. Технологията е жестока в определени случаи (забравил си да запазиш — прави всичко отново), но е справедлива и надеждна.

В MikroTik няма такава функция в основата, макар че отдавна е известна поговорката: „отдалечената настройка на рутера — за дълго пътуване“. И дори рутерът до теб лесно може да стане „кирпич до ресета“.

Както и да е, странно — не намерих нито едно ръководство по този въпрос, наложи се да действам ръчно.

Първото, което правим, е да създадем сценарий за архивиране на конфигурацията. В по-нататъшния процес ще запазим състоянието именно с този сценарий.

Отиваме в Система -> Скриптове и създаваме скрипт, да кажем, „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

По-нататък, старт на скрипта, който запазва конфигурацията! Не искаме да правим всичко това отново, нали?

Добавяме някакъв „мусор“ в настройките за проверка или изтриваме нещо важно и накрая опитваме да рестартираме рутера.

Да, много хора вероятно ще кажат: „Има режим safe mode!“. Въпреки това, той не е подходящ, ако в резултат на работата ви трябва да се свържете отново с рутера (например, ако промените адреса или параметрите на wifi мрежата, през която сте свързани). И за възможността да „забравите“ да включите този режим също не трябва да се забравя.

P.S. Основното сега е да не забравяте да „съхранявате“.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster