Im Kurztest: Watchdogd 2.0.1, Slit 1.1.4, Q 1.6.3, Poseidon 0.5.8, Run Over SSH 1.0
Watchdogd 2.0.1
Systeme und Prozesse überwachen
Quelle: http://troglobit.com/watchdogd.html
Lizenz: ISC
Alternativen: Watchdog
Dieses aufmerksame Tool steht auf Linux-Systemen Wache. Ohne Parameter gestartet läuft es als Daemon und beobachtet die Prozessorauslastung. Verfügt die Hardware über einen Watchdog-Timer (WDT), dann greift der Watchdogd über das Device »/dev/watchdog« auf ihn zu. Um das Tool aus den Quellen zu bauen, benötigen Anwender die Bibliotheken »libite« und »libuEv«.
In der Voreinstellung setzt Watchdogd den Timer alle 10 Sekunden zurück und verhindert damit einen Reboot. Ist die CPU so ausgelastet, dass der Supervisor keine Ausführungszeit für Timer-Resets erhält, dann startet der Rechner neu. Über den Schalter »-w« geben Benutzer eine andere Zeitspanne vor, hinter »-a« und »-m« legen sie Schwellenwerte für die Prozessorlast und den Speicherverbrauch fest. Dazu geben sie jeweils zwei Werte an, die entweder zu einer Warnung oder zu einem Reboot führen.
Watchdogd arbeitet mit dem Syslog-Dienst zusammen. Alternativ definiert »-l« eine andere Logdatei. Das Tool protokolliert den Zeitpunkt und die Ursachen für den Reboot; ausführlichere Daten gibt’s über »–loglevel=debug«.
Watchdogd ist ein zuverlässiger Aufpasser und ermöglicht es, automatisch auf Überlastungen zu reagieren, die beispielsweise schlecht programmierte Software zu verantworten hat.
Slit 1.1.4
Intelligenter Pager für Logs
Quelle: https://github.com/tigrawap/slit
Lizenz: MIT
Alternativen: Less, More
Textdateien betrachten die meisten Linux-Anwender mit »less« oder »more« – bei langen Logfiles nicht immer die beste Wahl. Slit empfiehlt sich als Alternative. Das in Go implementierte Tool umgeht den Terminalpuffer und verspricht dadurch eine flottere Anzeige.
In der derzeitigen Version öffnet Slit eine einzige Datei oder liest alternativ von der Standardeingabe. Benutzer steuern den Pager über die Tastatur. Mit den Bildlauftasten oder [F] und [B] geht es hoch und runter, [G] springt zur ersten Zeile, [Umschalt]+[G] zur letzten. Zeilenweise navigieren die Pfeiltasten respektive [J] und [K]. Wer gerne Zeilenumbrüche sehen möchte, drückt [W].
Wie bei »less« und »more« startet »/« eine Vorwärtssuche, mit »?« geht es in die andere Richtung. [N] zeigt den nächsten und [Umschalt]+[N] den vorherigen Treffer an. Slit kann wahlweise Case-sensitiv oder mit regulären Ausdrücken suchen; [Strg]+[+] und [Strg]+[-] wechseln zwischen beiden Betriebsarten. Um Zeilen mit einem bestimmten Inhalt anzuzeigen, definieren Nutzer über »&« einen Filter. Hinter »+« ergänzen sie Muster, mit »-« schließen sie etwas aus.
Slit überzeugte die Tester vor allem mit den flexiblen Filterfunktionen. Die Github-Seite zeigt im letzten Abschnitt Beispiele für komplexe Verkettungen von Suchbegriffen; eine Manpage gibt es allerdings nicht.
Q 1.6.3
SQL-Abfragen für CSV- und TSV-Dateien
Quelle: https://github.com/harelba/q
Lizenz: GPLv3
Alternativen: Termsql
SQL enthält eine leistungsfähige Abfragesprache für Datenbanksysteme. Wer sich zum Analysieren von tabellarischen Textdateien etwas Ähnliches wünscht, sollte sich Q anschauen. Das Kommandozeilentool durchsucht und filtert CSV- und TSV-Dateien mit Hilfe von SQL-Statements, etwa »SELECT«, »WHERE«, »AND«, »OR«, »NOT« und »ORDER BY«. Auch das Kombinieren von Tabellen mit »JOIN« ist möglich.
Das Python-Tool betrachtet jede Datei als eigene Tabelle. Es erkennt die Spaltennamen automatisch; gibt es eine Kopfzeile, sorgt »-H« dafür, dass es diese außen vor lässt. Als Spaltentrenner setzt es ein Leerzeichen voraus; enthält die Datei einen anderen Trenner, geben Anwender diesen hinter »-d« an. Wer nur die Tabellenstruktur betrachten möchte, verwendet »-A«. Das Tool listet dann die Spalten inklusive Datentyp übersichtlich auf. Dank des Schalters »-z« versteht Q auch mit Gzip komprimierte Textdateien.
Das Tool ist recht fehlertolerant – enthält eine Zeile nicht die nötige Spaltenanzahl, füllt es sie selbstständig mit Nullwerten. Wer es exakt haben möchte, verwendet »-m strict«. Dann bricht Q mit einer Fehlermeldung ab, wenn eine Spalte fehlt. Ein paar weitere Schalter beeinflussen die Formatierung der Ergebnisse.
Wer mit SQL-Statements vertraut ist, der dürfte sich über Q freuen. Die ausführliche Dokumentation enthält viele Beispiele.
Bup 0.29.1
Git-basierte Backuplösung
Quelle: http://bup.github.io
Lizenz: LGPLv2
Alternativen: Rdiff-Backup, Duplicity, Git, Kup, Bups
Das in Python implementierte Backup-Programm setzt auf das Packfile-Format, das auch bei der Versionsverwaltung Git zum Einsatz kommt. Ähnlich wie beispielsweise Rsync nutzt das Tool einen Rolling-Prüfsummen-Algorithmus, um große Dateien aufzuteilen und inkrementell zu sichern. Beim Deduplizieren berücksichtigt Bup stets die ganze Datenbasis. Außerdem setzt das Programm auf Par2, um Fehler in Backups aufzuspüren und zu korrigieren.
Benutzer rufen als Erstes das Kommando »bup init« auf, um ein neues Git-Repository für das Backup anzulegen. In der Voreinstellung landet es im Ordner »~/.bup« des Benutzers. Danach erfasst »bup index« die zu sichernden Daten. Das Backup initiieren Anwender über »bup save«; über den Schalter »-n« vergeben sie einen Namen. Eine Liste mit allen Revisionen druckt »bup ls«. »bup restore« stellt Sicherungen wieder her. Dahinter geben Benutzer den vorher mit »-n« definierten Branch und eine Revision an; dabei steht »latest« für die zuletzt angelegte Sicherung.
Mit »bup ftp« startet ein FTP-ähnlicher Kommandozeilen-Client, der es erlaubt, in den Repositories zu navigieren und einzelne Dateien wiederherzustellen. »bup web« bietet diesen Komfort sogar per Webbrowser. Eine Zugangskontrolle ist für den integrierten Webserver allerdings nicht vorhanden.
Ein Blick in das Verzeichnis »Documentation« im Github-Repository lohnt sich, denn hier sind alle Möglichkeiten ausführlich notiert. Trotz der noch niedrigen Versionsnummer überzeugte das Tool im Test.
Poseidon 0.5.8
Leichtgewichtiger Webbrowser
Quelle: https://github.com/sidus-dev/poseidon
Lizenz: GPLv3
Alternativen: Pale Moon, Midori
Poseidon will vor allem mit Geschwindigkeit und geringem Ressourcenverbrauch punkten. Ein erster Blick auf den Speicherbedarf nach dem Start des Browsers stimmt positiv: Während Firefox zirka 190 MByte belegt, begnügt sich Poseidon mit 15 MByte. Hinzu kommen noch einige Webkit-Prozesse, die 10 MByte in Beschlag nehmen.
Bei der Oberfläche setzt der Browser auf GTK 3 und fügt sich damit recht ordentlich in die meisten Desktops ein. Was den Aufbau und die Navigation betrifft, unterscheidet sich Poseidon nicht von den Platzhirschen Firefox und Chrome. Adressleiste, Reiter sowie die üblichen Tastenkürzel zum Öffnen oder Schließen neuer Tabs und Fenster ([Strg]+[T][Strg]+[N] und [Strg]+[W]) funktionieren in Poseidon genauso.
Der Browser lädt die Inhalte zügig. In der Voreinstellung ist die Unterstützung für Javascript und Plugins aktiviert. Auch der Adblocker und ein Check von SSL-Zertifikaten ist eingeschaltet.
Der Defcon Mode schaltet auf den Inkognito-Betrieb um und deaktiviert den Cache, vermeidet Cookies und speichert den Seitenverlauf nicht ab. Der Browser erlaubt ein schnelles Wechseln der User-Agent-Kennung. Ebenfalls interessant sind das integrierte VTE-Terminal, der Passwortgenerator sowie die Proxy- und Downloadmanager.
Grundsätzlich gefällt der Browser. Abzüge gibt es für den Umgang mit selbst signierten SSL-Zertifikaten. Entscheidet sich der Anwender dafür, eine solche Seite zu öffnen, schaltet Poseidon die SSL-Prüfung ganz ab. Ein individuelleres Handling wäre schön.
Run Over SSH 1.0
Kommandos und Skripte per SSH ausführen
Quelle: https://github.com/yuriescl/run-over-ssh
Lizenz: GPLv3
Alternativen: PSSH, Cluster SSH
Wer sich um mehrere entfernte Rechner kümmert und dort oft dieselben Kommandos aufruft, kann mit diesem kleinen Tool Tipparbeit sparen. Run Over SSH schickt einen oder mehrere Befehle an Computer, auf denen ein SSH-Server läuft. Das Shellskript benötigt seinerseits den Open-SSH-Client und »sshpass« zur Passwortverwaltung.
Benutzer steuern das Tool beim Aufruf über Parameter. Hinter dem Befehl »run-over-ssh« geben sie zunächst den Benutzernamen auf der Gegenstelle an, auch wenn dieser genauso lautet wie auf dem eigenen Rechner. Der Name des Kontos muss auf allen entfernten Hosts identisch sein. Danach folgt der auszuführende Befehl oder hinter »-s« ein Skript. Als Letztes geben Nutzer eine Liste mit Hostnamen respektive IP-Adressen an. Das Skript fragt dann alle Kennwörter ab; alternativ bestimmen Admins über »-g«, dass es sich um ein globales Passwort handelt. Wer das Public-Key-Verfahren nutzen möchte, unterdrückt mit »-n« die Kennwortabfrage.
Danach schickt das Tool die Befehle an die Rechner. Deren Ausgabe erscheint auf Stdout. Wer die Rückmeldung nicht sehen möchte, unterdrückt sie mit »-q«. Alternativ ist es auch möglich, die Meldung über »-l« in ein Logfile zu schreiben. Tritt auf einem entfernten Rechner ein Problem auf oder kommt eine Verbindung nicht zustande, gibt Run Over SSH eine Fehlermeldung aus und fährt mit dem nächsten System fort.
Das Tool befindet sich noch in einer frühen Entwicklungsphase, hat aber Potenzial. Das Setzen von SSH-Parametern mit »–sshflags« hat im Test nicht geklappt.











