Automatische Wiederherstellung der letzten gespeicherten Konfiguration in Mikrotik-Routern

Viele haben schon einmal die großartige Funktion auf HPE-Switches erlebt – wenn die Konfiguration aus irgendeinem Grund nicht manuell gespeichert wurde, wird beim Neustart die letzte gespeicherte Konfiguration geladen. Die Technologie ist in gewisser Weise gnadenlos (vergessen zu speichern – mache es neu), aber gerecht und zuverlässig.

Bei MikroTik gibt es eine solche Funktion nicht in der Basis, auch wenn eine alte Weisheit besagt: „Ein entfernter Router wird eine lange Reise“. Und selbst ein direkt daneben stehender Router kann leicht in einen „Ziegelstein bis zum Reset“ verwandelt werden.

Seltsamerweise habe ich kein einziges Handbuch in dieser Hinsicht gefunden und musste es manuell machen.

Das Erste, was wir tun, ist ein Skript zur Erstellung einer Sicherungskopie der Konfiguration zu erstellen. In Zukunft werden wir genau dieses Skript verwenden, um den Status zu „speichern“.

Wir gehen zu System -> Skripte und erstellen ein Skript, sagen wir, „fullbackup“ (selbstverständlich ohne Anführungszeichen).

system backup save dont-encrypt=yes name=Backup_full

Wir werden kein Passwort verwenden, da es sonst in dem benachbarten Skript explizit angegeben werden müsste; ich sehe keinen Sinn in solch einem „Schutz“.

Wir erstellen ein zweites Skript, das die Konfiguration bei jedem Start wiederherstellt. Nennen wir es „full_restore“.

Dieses Skript ist etwas komplizierter. Das liegt daran, dass bei der Wiederherstellung der Konfiguration auch ein Neustart erfolgt. Ohne einen Kontrollmechanismus bekommen wir einen endlosen Reboot.

Der Kontrollmechanismus ist etwas „starr“ geworden, aber dafür zuverlässig. Bei jedem Start des Skripts findet zuerst eine Überprüfung statt, ob die Datei „restore_on_reboot.txt“ vorhanden ist.
Wenn die Datei vorhanden ist, bedeutet das, dass eine Wiederherstellung aus dem Backup erforderlich ist. Wir löschen die Datei und führen die Wiederherstellung mit anschließendem Neustart durch.

Wenn die Datei nicht vorhanden ist – erstellen wir einfach diese Datei und machen nichts (das bedeutet, dass dies bereits der zweite Start ist, der nach der Wiederherstellung aus dem Backup erfolgt).

: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 }

Am besten überprüfen wir die Funktion der Skripte in diesem Stadium, bevor wir die Aufgabe zum Scheduler hinzufügen.

Wenn alles in Ordnung ist, gehen wir zur dritten und letzten Aktion über – wir fügen die Aufgabe zum Scheduler hinzu, um das Skript bei jedem Start auszuführen.

Wir gehen zu System -> Scheduler und fügen eine neue Aufgabe hinzu.
Im Feld Startzeit geben wir an startup (ja, so schreiben wir es, in Buchstaben)
Im Feld Bei Ereignis schreiben wir
/system script run full_restore

Als nächstes, das Skript ausführen, das die Konfiguration speichert! Wir wollen das doch nicht alles noch einmal machen?

Fügen wir irgendwelchen "Müll" in die Einstellungen ein, um zu überprüfen, oder löschen wir etwas Wichtiges, und versuchen schließlich, den Router neu zu starten.

Ja, viele werden wahrscheinlich sagen: "Es gibt den Abgesicherten Modus!". Dieser eignet sich jedoch nicht, wenn Sie aufgrund der Arbeiten erneut mit dem Router verbinden müssen (zum Beispiel, wenn Sie die Adresse oder die Parameter des WLAN-Netzwerks ändern, über das Sie verbunden sind). Auch die Möglichkeit, zu vergessen, diesen Modus zu aktivieren, sollte nicht ignoriert werden.

P.S. Das Wichtigste ist jetzt, nicht zu vergessen, "zu speichern".

Quelle: habr.com

60GB SSD 8Gb DDR4