Аўтаматычнае аднаўленне апошняй захаванай канфігурацыі ў роўтарах Mikrotik

Многія сутыкаліся з выдатнай функцыяй, напрыклад, на камутатарах HPE – калі канфіг па нейкай прычыне не захаваны ўручную, пасля перазагрузкі накатваецца папярэдні захаваны канфіг. Тэхналогія ў чым тое бязлітасная (забыўся захаваць - рабі па-новай), але справядлівая і надзейная.

А вось у Мікротыка, такой функцыі ў базе няма, хоць даўно вядомая прыкмета: «выдаленая налада роўтара - да доўгай дарозе». І нават роўтэр пад бокам вельмі лёгка ператварыць у «цэглу да рэзета».

Як то ні дзіўна - не знайшоў ні аднаго мануала на гэты конт, прыйшлося рабіць ручкамі.

Першае што які робіцца - ствараем скрыпт стварэння рэзервовай копіі канфігурацыі. У далейшым "захоўваць" стан будзем менавіта гэтым скрыптам.

Ідзем у System -> Scripts і ствараем скрыпт, дапусцім, «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 -> Scheduler і дадаем новую задачу.
У полі Час пачатку паказваем запуск (так, так і пішам, літарамі)
У полі On Event пішам
/system script run full_restore

Далей, запускаем скрыпт які захоўвае канфіг! Мы ж не жадаем рабіць усё гэта яшчэ раз?

Дадаем якое-небудзь "смецце" ў налады для праверкі, альбо выдаляем нешта важнае і нарэшце, спрабуем перазагрузіць роўтэр.

Так, многія напэўна скажуць: "Ёсць жа рэжым safe mode!". Аднак, ён не падыдзе, калі ў выніку работ вам давядзецца перападключацца да роўтара (напрыклад, калі вы памяняеце адрас або параметры wifi-сеткі, праз якую вы падключаны). І пра магчымасць "забыцца" ўключыць гэты рэжым таксама забываць не варта.

PS Галоўнае зараз не забываць «захоўвацца».

Крыніца: habr.com

Дадаць каментар