بازیابی خودکار آخرین پیکربندی ذخیره شده در روترهای میکروتیک

بسیاری با ویژگی فوق العاده ای مواجه شده اند، به عنوان مثال، در سوئیچ های HPE - اگر به دلایلی پیکربندی به صورت دستی ذخیره نشود، پس از راه اندازی مجدد، پیکربندی ذخیره شده قبلی برگردانده می شود. این فناوری تا حدودی بی رحم است (فراموش کرد آن را ذخیره کنید - دوباره این کار را انجام دهید)، اما منصفانه و قابل اعتماد است.

اما در Mikrotik، چنین عملکردی در پایگاه داده وجود ندارد، اگرچه این علامت مدت هاست شناخته شده است: "راه اندازی از راه دور یک روتر به معنای یک سفر طولانی است." و تبدیل کردن یک روتر در نزدیکی به "آجر قبل از تنظیم مجدد" بسیار آسان است.

به اندازه کافی عجیب، من یک کتابچه راهنمای واحد در این مورد پیدا نکردم، بنابراین مجبور شدم آن را با دست انجام دهم.

اولین کاری که انجام می دهیم این است که یک اسکریپت برای ایجاد یک نسخه پشتیبان از پیکربندی ایجاد کنیم. در آینده، با این اسکریپت، ایالت را "نجات" خواهیم داد.

قابل اعتماد و متخصص سیستم -> اسکریپت ها و یک اسکریپت ایجاد کنید، به عنوان مثال، "پشتیبان گیری کامل" (البته، بدون نقل قول).

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 و یک کار جدید اضافه کنید.
در این زمینه زمان شروع نشان می دهد شروع (بله، ما آن را به صورت حروف می نویسیم)
در این زمینه در رویداد بنویس
/system script run full_restore

بعد اسکریپتی را اجرا کنید که پیکربندی را ذخیره می کند! ما نمی خواهیم همه این کارها را دوباره انجام دهیم، نه؟

مقداری "زباله" به تنظیمات اضافه می کنیم تا موارد مهم را بررسی یا حذف کنیم و در نهایت سعی کنیم روتر را مجددا راه اندازی کنیم.

بله، احتمالاً بسیاری خواهند گفت: "یک حالت امن وجود دارد!" با این حال، اگر در نتیجه کار، مجبور شوید دوباره به روتر متصل شوید، کار نخواهد کرد (به عنوان مثال، اگر آدرس یا پارامترهای شبکه وای فای را که از طریق آن متصل هستید تغییر دهید). و نباید امکان "فراموش کردن" را برای روشن کردن این حالت فراموش کنید.

PS نکته اصلی اکنون این است که "ذخیره" را فراموش نکنید.

منبع: www.habr.com

اضافه کردن نظر