Rsync-Jobs verwalten mit Jotasync 0.4.1, SQL-Abfragen in der Konsole mit Q 2.0.6, Retry 1.0.0 gibt nicht auf, Netzwerkschnittstellen auslesen mit Trawl 0.5.0.
Gleichmacher
Mit Jotasync 0.4.1 verwalten Sie Rsync-Jobs per Mausklick.
Zwar gilt Rsync unter Linux als das Tool der Wahl zum Synchronisieren von Dateien und Verzeichnissen, besonders intuitiv lässt sich das Konsolen-Tool aber nicht bedienen. Das ändert die in Java geschriebene grafische Oberfläche Jotasync, mit der Sie Rsync-Jobs per Mausklick verwalten. Dabei stellt die Software einen eigenen Scheduler bereit und kommt so ohne zusätzliche Dienste aus. Jotasync gliedert sich in die zwei Komponenten Client und Server. Ohne Parameter aufgerufen, öffnet es eine einfache, gekachelte Oberfläche für den Client. Gleichzeitig startet der Server im Hintergrund und lauscht auf Port 1099.
In den Kacheln der Oberfläche hinterlegen Sie die Konfiguration einzelner Jobs, sodass Sie immer direkten Zugriff darauf haben. Wie Sie die Elemente belegen, bleibt Ihnen überlassen. Über den sogenannten Job-Editor legen Sie die Datensicherung fest. Neben Quell- und Zielverzeichnis dürfen Sie hier bestimmte Dateien ausschließen. Über das Menü Options stehen alle Parameter von Rsync bereit. Im Menü Run legen Sie fest, ob die Software bestimmte Befehle vor oder nach dem Sichern oder im Fall eines Fehlers ausführt. Im nächsten Schritt ordnen Sie der Aufgabe einen Job zu. Er enthält alle Scheduler-Daten und legt fest, in welchen Intervallen das Programm die Tasks des jeweiligen Jobs ausführt.
Während die Server-Komponente beim Client-Aufruf automatisch startet, müssen Sie den integrierten Scheduler manuell aktivieren. Standardmäßig speichert und verwaltet das Tool alle Konfigurationen in der Server-Komponente. Bei Bedarf verbinden Sie den Client mit einer anderen Jotasync-Server-Instanz im Netzwerk und führen die dortige Konfiguration aus. Eine Zugriffskontrolle existiert jedoch nicht, weswegen Sie das Tool nur in gesicherten Netzen verwenden sollten. Alles in allem bietet Jotasync eine angenehme Oberfläche, um Rsync-Jobs zu verwalten. Der Zugriff auf die Rsync-Parameter dürfte aber gern noch komfortabler ausfallen.
Abfragehilfe
Das clevere Q 2.0.6 erlaubt SQL-Abfragen auf CSV- und TSV-Dateien.
Die Analyse von CSV-Dateien oder tabellarischen Textdaten in der Konsole gestaltet sich in der Regel eher umständlich. Möchten Sie das Ergebnis später automatisiert weiterverarbeiten, bleibt oft nur der Griff in die Shell-Trickkiste. Unter dem schlichten Namen Q kommt nun ein Python-Tool daher, das Ihnen dabei hilft, solche Daten mit SQL-artigen Statements zu analysieren. Möchten Sie die Software nicht aus den Quellen installieren, finden Sie im Github-Repository auch ein Installationspaket. Eine Manpage gibt es nicht; auf der Projektseite finden Sie jedoch einige Erläuterungen sowie Links zu Beispielen.
Neben CSV-Files verarbeitet das Tool auch TSV-Dateien, wobei es jede Datei als eigenständige Tabelle interpretiert. Q unterstützt alle wichtigen Funktionen einer SQL-basierten Select-Abfrage, etwa das Eingrenzen mit einer Where-Bedingung oder das Sortieren mit einer Order-by-Klausel. Spaltenname und Datentyp der jeweiligen Spalte erkennt es automatisch. Standardmäßig interpretiert es Leerzeichen als Trenner. Mit dem Parameter -d geben Sie alternative Zeichen an. Handelt es sich bei der Datenquelle um eine Gzip-komprimierte Datei, entpacken Sie sie vor dem Verarbeiten über -z. Als Eingabekodierung setzt das Tool UTF-8 voraus, was Sie mit dem Parameter -e anpassen; mit -E setzen Sie die Kodierung der Ausgabe.
Rufen Sie Q mit dem Parameter -A auf, führt es eine Analyse der Datenstruktur durch und gibt lediglich die Namen der Spalten samt Datentypen aus. Da der Inhalt von CSV-Dateien nicht immer exakt ist, arbeitet Q beim Auswerten sehr fehlertolerant. Enthält etwa eine Zeile nicht die korrekte Anzahl an Daten, füllt es die fehlenden einfach mit Nullwerten auf. Mit dem Parameter -m forcieren Sie das strikte Auswerten. Bei einer fehlerhaften Zeile quittiert das Tool dann aber direkt den Dienst.
Wiederholungstäter
Möchten Sie einen Job unbedingt erledigt haben, setzen Sie Retry 1.0.0 darauf an.
Wer ein Programm so lange neu starten möchte, bis es Erfolg meldet oder ein Zeitpunkt überschritten ist, der musste bislang die eigenen Skriptkünste bemühen. Mit dem Go-basierten Retry steht nun ein nützlicher Helfer für diese Aufgabe bereit, den Sie als Paket aus dem Projekt-Repository laden und sofort durchstarten können. Die Konfiguration erfolgt über Kommandozeilenparameter beim Aufruf. Im simpelsten Fall geben Sie der Software Retry das auszuführende Programm samt dessen Parametern mit. Es versucht dann drei Mal, das übergebene Kommando auszuführen, und beendet sich dann ungeachtet des Erfolgs der Aktion.
Zwischen den Versuchen wartet das Tool fünf Sekunden, was Sie gegebenenfalls über den Parameter -sleep anpassen. Mit -attempts legen Sie die Anzahl der Versuche fest. Bei einem Wert von null versucht Retry sein Glück so lange, bis das Ausführen gelingt. Über -task-time legen Sie fest, wie lange die einzelne Ausführung eines Befehls maximal dauern darf. Das verhindern, dass ein Befehl während der Ausführung steckenbleibt und Retry an dieser Stelle ewig wartet.
Um die Pausen zwischen den Ausführungsversuchen dynamisch zu halten, kombinieren Sie die Parameter -sleep und -backoff. Letzterer verdoppelt die Dauer jeder folgenden Pause – ideal, wenn Sie ein System nicht mit erneuten Versuchen unter Last setzen möchten. Mit -consecutive geben Sie vor, wie oft Retry ein Programm in Folge erfolgreich ausführen soll, bevor sich Retry beendet. Eine Übersicht aller Parameter liefert die Hilfe, die Sie über -h erreichen; im Github-Repository beschreibt der Entwickler alle Funktionen anhand von Beispielen.
Adressermittler
Über Trawl 0.5.0 ermitteln Sie alle Daten rund um Netzwerkschnittstellen.
Um in Skripten IP- oder MAC-Adressen der Schnittstellen zu verarbeiten, greift man meist auf Bordmittel wie Ip oder Ifconfig zurück. Deren ausführliche Ausgabe erfordert allerdings noch Nacharbeit. Hier springt das Go-Programm Trawl mit einer strukturierten Ausgabe ein, die das Weiterverarbeiten der Daten erleichtert. Im Projekt-Repository finden Sie Binärpakete für alle gängigen Plattformen. Nach dem Herunterladen können Sie das Tool direkt einsetzen, die Konfiguration erfolgt über Kommandozeilenparameter.
Rufen Sie Trawl ohne Parameter auf, gibt es wichtige Eckdaten für alle vorhandenen Schnittstellen aus. Die Ausgabe erfolgt zeilenweise, wobei jede Zeile alle Daten zu einer Schnittstelle enthält. Dazu gehören der Name der Schnittstelle, deren IPv4-Adresse sowie die Netzmaske, das IPv4-Netzsegment, MTU und MAC-Adresse sowie die IPv6-Adresse. Eine solche Zeile lässt sich sehr einfacher mit regulären Ausdrücken oder mit Awk verarbeiten. Für mehr Übersicht nutzen Sie den Parameter -n, der eine tabellarische Ausgabe erzeugt. Um nur die Daten einer einzelnen Schnittstelle zu sehen, übergeben Sie deren Namen beim Aufruf als Parameter. Eine Aufstellung aller Schnittstellen liefert der Parameter -i. Über -f filtern Sie diese Liste wieder, sodass das Programm nur die passenden Daten anzeigt.
Mit weiteren Parametern wie -a, -m, -hw, -u oder -6a rufen Sie explizite Informationen zu einer Schnittstelle ab. Die Parameter lassen sich jedoch nicht kombinieren; Trawl führt immer nur einen aus. Mit -p ermitteln Sie die öffentliche IP-Adresse eines Systems. Trawl greift hierfür auf die Bibliothek go-ipify zurück, die die Adresse durch Aufruf der Webseite http://api.ipify.org ermittelt.








