คืนค่าการกำหนดค่าที่บันทึกไว้ล่าสุดในเราเตอร์ 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

นอกจากนี้ เรียกใช้สคริปต์ที่บันทึกการกำหนดค่า! เราไม่อยากทำทั้งหมดนี้อีกใช่ไหม?

เราเพิ่ม "ขยะ" บางส่วนในการตั้งค่าเพื่อตรวจสอบหรือลบสิ่งที่สำคัญ และสุดท้ายให้ลองรีบูตเราเตอร์

ใช่ หลายคนอาจจะพูดว่า: “มีเซฟโหมด!” อย่างไรก็ตาม มันจะไม่ทำงานหากคุณต้องเชื่อมต่อกับเราเตอร์อีกครั้ง (เช่น หากคุณเปลี่ยนที่อยู่หรือพารามิเตอร์ของเครือข่าย wifi ที่คุณเชื่อมต่ออยู่) และคุณไม่ควรลืมเกี่ยวกับความเป็นไปได้ที่จะ "ลืม" เพื่อเปิดโหมดนี้

ป.ล. สิ่งสำคัญตอนนี้คืออย่าลืม "บันทึก"

ที่มา: will.com

เพิ่มความคิดเห็น