SR-AutoDat

Bitte lesen Sie die im Anschluß folgende Dokumentation durch, wenn Sie an SR-AutoDat interessiert sind. In der Dokumentation sollte man alles wissenswerte über das Programm erfahren.
Referenzen:
Ich verwende SR-AutoDat Serverseitig auf einem SuSE Linux 9.3 Server auf dem auch SR-InfoSys Serverseitig läuft. Clientseitig sind es zur Zeit 17 SuSE 10.0 und 10.2 Server.Getestet habe ich SR-AutoDat auf SuSE Linux ab der Version 9.2 und neuer, sowie auf Debian 3.0, 3.1 und 4.0. Auch sollte Ubuntu und Kbuntu kein problem darstellen, das diese auch Debian Systeme sind. Tests auf anderen System habe ich noch nicht durchgeführt. Es sollte aber ein i386 oder ein x86-64 System sein. Denkbar ist aber auch ein Einsatz auf allen anderen Platformen die von Linux unterstützt werden.


SR-AutoDat 0.2
( SchulRouter - Autmatische Dateiverteilung )

Automatische Dateiverteilung und Wartung

DOKUMENTATION

AUTOR

Idee, Programmierung und Umsetzung von „van GoDD“ 2005 – 2007 <van.godd@web.de>.

NAME

SR-Autodat (SchulRouter - Automatische Dateiverteilung)

BESCHREIBUNG

SR-AutoDat ist eigentlich als eine Erweiterung zu SR-InfoSys gedacht. Für den Einsatz ist SR-InfoSys aber nicht erforderlich. SR-AutoDat kann automatisch an vorher definierte Remote Rechner bestimmte Dateien übertragen und/oder auch SSH Befehle abarbeiten. Zur Zeit ist es noch nicht möglich, ganze Verzeichnisse zu Übertragen, da mir das SFTP noch eine kleine Hürde bietet. Aber auch das kann man umgehen, das man die zu übertragenden Verzeichnisse in ein TAR Archiv packen kann, diesen dann auf den gewünschten Rechner überträgt und dann mittels SSH und einen gezielten Befehl auf dem Rechner auspacken kann. Was auch zwei entscheidende Vorteile mit sich bringt, der erste: die Pflege der langen Dateiliste entfällt und zweites: wenn das Archiv komprimiert ist, wird auch noch die Übertragungszeit verkürzt.

Wie SR-AutoDat in Kombination mit SR-InfoSys benutzt, dann ist es lediglich notwendig, das die Protokolldateien von SR-InfoSys im Dateisystem erreichbar sind. Man kann in SR-AutoDat auch alles Erreichbaren Client Rechner importieren lassen. Das Programme wird über eine Zentrale Konfigurationsdatei und über so genannte „Listen Dateien“ gesteuert.

SR-AutoDat entstand eigentlich aus dem Folgenden Administrativen Gründen:

Meine Schul-Router waren (fast) alle gleich aufgebaut. Zwei bis vier mal im Jahr musste ich bestimmte Dateien auf dem Schul-Routern austauschen bzw. aktualisieren. Aus bestimmten Gründen konnte ich zu dieser Zeit nicht mit Rsync arbeiten und auf der anderen Seite musste ich auch Befehle an das System absetzen können, Beispielsweise um den BIND DNS Server neu zu starten. Aus diesen Gründen habe ich mich dazu entschlossen, einen eigene kleine Lösung zu kreieren. So ist SR-AutoDat entstanden.

INSTALLATION

Die Installation von SR-AutoDat ist ganz einfach. Nach dem mam sich die RPM Datei herunter geladen hat, kann man es mit dem Befehl:

~>rpm -ihv SR-AutoDat-{Version-{Release}

Wenn schon einen Version von SR-AutoDat auf dem Rechner installiert ist, kann man das Programm ganz einfach mit dem Folgendem Befehl auf dem neusten Stand bringen:

~>rpm -Uhv SR-AutoDat-{Version}-{Release}


Im Gegensatz zu SR-InfoSys ist SR-AutoDat nicht von einem Benutzer abhängig und kann somit mit jedem beliebigen Benutzer betrieben werden. Es sind nur ein paar Sachen zu beachten, der Benutzer muss die Öffentlichen SSH Schlüssel der Remote Rechner kennen. Der Benutzer mit dem man sich Remot Rechner Verbindet, sollte alle benötigten Rechte auf den Dateien haben, die man Verteilen möchte, das selbe gilt natürlich für SSH, damit die Befehle auch ausführbar sind. Da ich SR-AutoDat nur nach bedarf benutze, es auch manuell starte und auf dem Zielsystem auch Root Rechte brauche, betreibe ich SR-AutoDat auch unter dem Benutzer Root.

Standardmäßig wird SR-AutoDat in das Verzeichnis /opt/SR-AutoDat installiert. Die Zentrale Konfigurationsdatei findet man unter /etc/SR-AutoDat.conf und die weiteren Listen Dateien unter dem Programmverzeichnis in dem auch SR-AutoDat installiert ist. (Ich glaube, das werde ich in Zukunft noch ändern. Anwarten.)

Die Logs landen (gegen alle Unix/Linux Gesätze) unter /opt/SR-AutoDat/logs. (Ich denke auch das werde ich in Zukunft ändern.)

SYNTAX

SR-AutoDat [Option]

OPTIONEN

-d, --daemon

Startet als ein Daemon Programm im Hintergrund

Das Programm kann dann nur über den Kill Befehl beendet werden, oder den Aufruf des Programms mit der Option „--stop“ durchführen.

-msl, --make-srv-list

Make Server List, erstellt aus den SR-InfoSys Protokoll Dateien, die auch zum einlesen in den DNS Server benutzt werden, eine Server Liste die SR-AutoDat dann zum Datenverteilen oder zur Befehlsausführung benutzen kann. Wird/soll SR-InfoSys nicht verwendet, muss man die Server Liste manuell per Hand zusammenstellen.

--stop

Beendet alle laufenden Prozesse des Programmes wenn dieses als ein Daemon Programm gestartet wurde

--status

Zeigt den aktuellen Status des Programms an. Ist das als ein Daemon Programm gestartet und ist noch aktiv, so ist der Status gestartet. Ist SR-AutoDat nicht aktiv, wird der Status beendet zurückgegeben.

--test, -t

Testet die Verbindung aller Server, die in der Serverliste eingetragen und nicht ge[x] sind. Die ge[x]ten Server werden auch beim Test ignoriert.

-v, --version

Ausgabe der Version diese Programmes

-h, --help

Der Hilfe Text

LISTEN DATEIEN

Die „Listen Dateien“ sind, wie der Name auch schon sagt, eine Ansammlungen von Information zu einer Liste zusammengestellt. Das hört sich jetzt vielleicht schwieriger an als es ist. Am besten fange ich einmal an, die Dateien zu beschreiben:

liste.server In dieser Textdatei werden alle Server aufgelistet, die SR-AutoDat abarbeiten soll. Die Aufgelisteten Server müssen mit dem FQN aufgezählt werden und jeder Server muss in einer separaten Zeile stehen. Ein Beispiel könnte so aussehen:

remote01.schule.lan
remote02.schule.lan
remote03.schule.lan
...

Wenn SR-AutoDat gestartet wird, und es zu einer Erfolgreichen Dateiverteilung bzw. oder/und einer SSH Befehlsausführung, so werden die Rechner zu denen eine Verbindung aufgebaut werden konnte mit einem „[x]“ am Anfang der Zeile in diese Datei gekennzeichnet. Das „[x]“ hat die Aufgabe, das beim nächsten Durchlauf von SR-AutoDat alle Rechner mit dieser Kennzeichnung am Zeilenanfang ignoriert werden und der Administrator erhält so damit einen schnelle Übersicht, zu welchen Rechner eine Verbindung aufgebaut werden konnte und welche noch anstehen. Auch sollte man nicht vergessen, wenn schon eine Serverliste erstellt worden ist und man ein zweites mal Dateien verteilen möchte, alle Zeilen mit dieser „[x]“ Markierung wieder zu bereinigen. Sonst passiert beim nächsten Durchlauf nicht wirklich viel.

liste.dateien In dieser Textdatei werden die Dateien aufgelistet, die auf allen Server die in der Datei liste.server stehen verteilt werden sollen. Die Edition der Liste ist auch ganz einfach, als erstes wird der Ort der Lokalen Datei angegeben, mit einem Doppelpunkt getrennt „:“ und dann wird der Zielort auf dem entfernten Rechner angegeben. Ein Beispiel könnte so aussehen:

/etc/named.d/forwarders.conf:/etc/named.d
/update/SR-InfoSys/0.4/SR-InfoSys:/opt/SR-InfoSys
/update/SR-InfoSys/0.4/SR-InfoSys.dns:/opt/SR-InfoSys
/update/SR-InfoSys/0.4/SR-InfoSys.eid:/opt/SR-InfoSys
/update/SR-InfoSys/0.4/SR-InfoSys.ftp:/opt/SR-InfoSys
/update/SR-InfoSys/0.4/SR-InfoSys.hlp:/opt/SR-InfoSys
/update/SR-InfoSys/0.4/SR-InfoSys.ppp:/opt/SR-InfoSys
/update/SR-InfoSys/0.4/SR-InfoSys.sig:/opt/SR-InfoSys
/update/SR-InfoSys/0.4/SR-InfoSys.www:/opt/SR-InfoSys

...

Die hier aufgelistet Dateien werden, wie schon erwähnt, auf allen Rechner Verteilt, die in der liste.server Datei aufgelistet sind und nicht mit einem „[x]“ am Anfang der Zeile gekennzeichnet sind.

liste.dateien.{FQN von Remote Rechner}
Legt man eine solche Datei an, so werde die Dateien die in dieser spezifisch angelegten Textdatei aufgelistet ist, nur auf den angegebenen Rechner verteilt. Im Gegensatz zu den Dateien die in der liste.dateien aufgelistet sind, denn diese werden ja auf alle Rechner verteilt. Die Schreibweise der .{FQN von Remot Rechner} muss identisch sein wie in der Rechner in der liste.server Datei aufgezählt ist. Ein Beispiel könnte so aussehen:

liste.dateien.remote01.schule.lan
liste.dateien.remote02.schule.lan
liste.dateien.remote03.schule.lan

Die Auflistung der zu übertragenden Dateien ist gleich wie in der Datei liste.dateien. Die Abarbeitung von SR-AutoDat ist wie folgt: Erst werden die Dateien verteilt, die Rechner spezifisch sind und dann die allgemeinen Dateien.

liste.dateien-ssh.{FQN von Remote Rechner}
Legt man eine solche Datei an, so kann man in dieser die Befehle eingeben, die spezifisch auf den bestimmten Remote Rechner ausgeführt werden sollen. Es ist möglich, mehrere Befehle ein zu geben, es ist auch möglich, mehrere Zeile zu benutzen, es empfiehlt sich aber, pro Zeile einen Befehl zu benutzen. Auch hier muss die Schreibweise der
.{FQN von Remote Rechner} identisch sein, wie der Rechner in der liste.server Datei aufgelistet ist und darf nicht abweichen. Ein Beispiel für den Dateinamen könne so aussehen:

liste.dateien.remote01.schule.lan
liste.dateien.remote02.schule.lan
liste.dateien.remote03.schule.lan

Ein Beispiel für die Auflistung der Befehle die auf den spezifisch angegebenen Rechner könnte so aussehen:

tar xfz /tmp/update -C /
/etc/init.d/named restart
/etc/init.d/SR-InfoSys restart

Wie auch bei der liste.dateien.{FQN von Remote Rechner} werden auch hier erst die Befehl für den spezifisch angegeben Rechner vor der allgemeinen Befehlsausführung für alle Renote Rechner ausgeführt. Anders ist hier nur, das die allgemeinen Befehle nicht in einer Listen Textdatei stehen, sondern in der Konfigurationsdatei in der Variable SSH_EXEC.

Die Namenswahl der Listen Dateien kann man auch in der Konfigurationsdatei SR-AutoDat.conf mit den Variablen SRAD_SRVL und SFTP_FLST selber bestimmen. Dann muss man aber auch darauf achten, das die spezifisch angepassten Dateien für bestimmte Remote Rechner angepasst werden. Wenn SR-AutoDat nicht oft benutzt wird, sollte man die von mir vordefinierten Name lieber lassen, da man später alles dokumentarisch besser nach verfolgen kann.

KONFIGURATIONSDATEI

Die Konfigurationsdatei findet man unter /etc/SR-AutoDat.conf, welche für jedes System angepasst werden muss. Die Sektion 01 bezieht sich darauf, wenn man SR-AutoDat mit der Kombination von SR-InfoSys benutzt. Die Sektion 02 und 03 beschäftigt sich mit der eigentlichen Programmausführung von SR-AutoDat. Die Sektion 04 ist den Logdateien gewidmet.
Die Beschreibung der ein zu stellenden Variablen ist in der Konfigurationsdatei gut beschrieben und kann auch von dort entnommen werden.


Written by van GoDD
Für weitere Tipps oder Verbesserungsvorschläge bin ich euch sehr dankbar. Ich halte meine Website aber nicht so super aktuell, bitte habt da etwas Nachsicht mit mir.

Zurück