cfgdiff

Problem: Die komplette Konfiguration des Routers geschieht über Textdateien. Gerade wenn neue Versionen herauskommen und man updaten will, ist es mitunter schwierig, herauszufinden, welche neuen Parameter hinzugekommen sind, was sich verändert hat. Oder wenn man mehrere Router pflegt, möchte man vielleicht eine schnelle Übersicht haben, worin die Unterschiede in zwei Configdateien bestehen. Dabei geht es vor allem darum, welche Parameter anders konfiguriert sind. Normale diff-Programme versagen hier z.B. dann, wenn Parameter in anderer Reihenfolge aufgelistet sind. Auch interessiert z.B. nicht, ob Kommentarzeilen verändert wurden.

Lösung: Ein kleines Ruby-Skript parst die Konfig-Dateien, vergleicht jeden Parameter und gibt Unterschiede in folgender Form aus:

Skript: (download: http://www.reintechnisch.de/pub/fli4l/)

Zur Ausführung muß Ruby installiert sein. Für Windows bekommt man das Paket unter http://rubyinstaller.sourceforge.net/ Unter Linux sollte es bei jeder Distribution mit dabei sein. (debian: apt-get install ruby )

Das Skript als Datei "cfgdiff" speichern und es entweder mittels chmod 700 cfgdiff ausführbar machen (nur Linux) oder es mit "ruby cfgdiff file1 file2" auf der Kommandozeile/Shell starten.

Mehr zu Ruby

Fragen und Kommentare an mich: WinfriedMueller

Beispiele

Unterschiede Version 2.1.5 und 2.1.6 (27.03.2004, patch-4):

Es bestand die Aufgabe, einen 2.1.5 basierten fli4l auf 2.1.6 zu aktualisieren. Die alten Configs aus 2.1.5 sollten übernommen werden. Folglich brauchte ich die Information, welche Parameter in 2.1.6 neu hinzukamen oder sich geändert haben. Hierzu verglich ich die jungfreulichen Configs aus 2.1.5 gegenüber 2.1.6:

fli4l/cfgdiff (zuletzt geändert am 2007-12-23 22:47:12 durch localhost)