Einfache Datensicherung mit Autoarchive 2.0.0, Textausgaben verarbeiten mit Datamash 1.7, Netzdurchsatz testen mit Iperf3 3.10.1, temporären Webserver aufsetzen mit Quickhttp 1.0.0.
Vorratshaltung
Mit Autoarchive 2.0.0 gehen einfache Backups schnell von der Hand.
Backup ist nicht erst eine gute Idee seit, Ransomware Festplatten verschlüsselt. Der Aufwand für das Einrichten und Pflegen einer Datensicherung schreckt aber viele Anwender ab. Tools wie Autoarchive erleichtern das Backup durch eine strukturierte Konfiguration. Als reine Konsolensoftware benötigt das Python-Programm nur wenige Ressourcen. Es pflegt für jede Sicherung eine eigene Konfigurationsdatei, in der Dokumentation Spezifikationsdatei genannt, die alle Parameter für den jeweiligen Job enthält. Neben dem Ziel und den zu sichernden Dateien legen Sie hier Ausnahmen fest, definieren die Sicherung als inkrementell oder geben das Schema zum Löschen älterer Sicherungen an.
Im Raspbian-Repository findet sich das Tool nicht, Sie installieren es bei Bedarf aus den Quellen. Dabei legt Autoarchive für schnelle Tipper einen Link mit dem Namen aa an. Im Datenverzeichnis des Quellarchivs finden Sie ein Beispiel, das sich als Vorlage für eigene Backup-Konfigurationen eignet. In der systemweiten Konfiguration definieren Sie die Art der Kompression, legen Programme fest, die das Tool vor und nach jedem Sichern ausführt, oder passen die Pfade an. Die Spezifikationen für die einzelnen Sicherungen liegen standardmäßig unter .config/aa/archive_specs/ im Home-Verzeichnis.
Zum Erstellen einer Sicherung geben Sie beim Aufruf die entsprechende Spezifikationsdatei als Parameter mit. Haben Sie in der Grundkonfiguration keine Kompression wie TAR, GZIP, BZIP2 oder XZ vorgegeben, holen Sie dies beim Aufruf über -a nach. Den Grad der Kompression passen Sie mit -c an. Mit --list erhalten Sie eine Übersicht über alle Sicherungen, mit --purge entfernen Sie verwaiste Backups. Einmal konfiguriert, geht die Arbeit mit Autoarchive schnell von der Hand. Allerdings verschlüsselt es die Daten beim Sichern nicht. Auch der Transfer über das Netzwerk klappt nur über Umwege. Wer das aber nicht benötigt, erhält hier ein solides Backup-Tool.
Textbearbeitung
Textausgaben verarbeiten Sie elegant mit Datamash 1.7 weiter.
Konsolen-Tools schreiben Daten in der Regel in die Standardausgabe, einige in eine Datei. Zum Weiterverarbeiten muss man die Ausgaben in der Regel mit einer Kombination von Cut, Grep oder Awk anpassen. Mit Datamash steht ein Programm bereit, das dabei hilft und keine Programmierkenntnisse erfordert. Zum Auswerten einer Textdatei oder Ausgabe genügt schon ein einfacher Einzeiler. Das Programm nimmt Text über die Standardeingabe entgegen, Dateien liest Datamash nicht ein.
Wie es Daten verarbeitet, steuern Sie über sogenannte Operationsbefehle, die Sie als Parameter übergeben. So begrenzen Sie etwa mit groupby oder crosstab das Ergebnis auf bestimmte Felder oder Spalten. Zum Neuanordnen dienen die Befehle reverse und transpose. Darüber hinaus bietet Datamash eine Reihe von numerischen und statistischen Funktionen wie etwa round zum Aufrunden von Werten. Auch Textfunktionen stehen bereit. Mit header erweitern Sie die Ausgabe um eine Kopfzeile, das Sortieren der Daten gelingt mit dem sort-Befehl.
Datamash wertet den Tabulator als Feldtrenner, mit -t legen Sie ein alternatives Zeichen fest. Enthält eine Eingabe viele Kommentare, sorgen Sie mit -C dafür, dass das Programm diese ignoriert. Datamash wertet standardmäßig mit # und ; beginnende Zeilen als Kommentar. Neben der Online-Hilfe, die Sie mit --help aufrufen, bietet das Tool eine umfassende Manpage, die alle Parameter erläutert und Beispiele bereithält. Im Pi-OS-Repository liegt eine ältere Version des Tools, das aktuellste Release müssen Sie selbst kompilieren.
Netzwerktacho
Mit Iperf3 3.10.1 testen Sie die Geschwindigkeit im Netzwerk.
Es gibt diverse Strategien, um die Geschwindigkeit einer Datenverbindung zu ermitteln. Nicht alle liefern korrekte Ergebnisse oder sind zuverlässig. Wer es genau wissen will, bemüht Iperf3, das nun schon in der dritten Generation vorliegt. Neben Iperf3 führen die Entwickler den Iperf2-Zweig weiter, beide Versionen sind aber nicht kompatibel. Eine ältere Version von Iperf3 findet sich im Pi-OS-Repo. Die aktuelle Version bietet neben einer Reihe von Fehlerkorrekturen neue Funktionen und Verbesserungen.
Wie alle Iperf-Versionen beherrscht auch Iperf3 den Client/Server-Modus. Mit -s wechselt das Tool in den Server-Modus und wartet standardmäßig am TCP-Port 5201 an allen Schnittstellen auf eingehende Verbindungen. Um nur ein bestimmtes Interface zu verwenden, geben Sie dessen IP-Adresse mit -B beim Start an, mit -p definieren Sie einen anderen Port. Über -D schicken Sie das Tool als Dienst nach dem Start in den Hintergrund.
Um Iperf3 im Client-Modus zu betreiben, geben Sie als Parameter -c an, gefolgt von der IP-Adresse oder dem FQDN des Iperf3-Servers. Das Programm nutzt den ursprünglichen Port nur zum Aufbau der Verbindung; Client und Server handeln zum Testen der Geschwindigkeit separate UDP- und TCP-Verbindungen aus. Mit dem Parameter -u misst Iperf3 die Geschwindigkeit nur via UDP. Auf der Client-Seite legen Sie mit -n und -t die Anzahl der zu übertragenden Bytes und die Dauer fest. Auch beim Client haben Sie die Möglichkeit, die Verbindungen über eine bestimmte Schnittstelle zu senden.
Um die Tests auf eine bestimmte IP-Version zu beschränken, verwenden Sie die Parameter -4 und -6. Standardmäßig zeigt Iperf3 seine Ergebnisse in der Standardausgabe in Echtzeit an. Wollen Sie die Daten weiterverarbeiten, speichern Sie sie mit -J im JSON-Format ab.
Platzhalter
Mit Quickhttp 1.0.0 starten Sie einen temporären Python-Webserver.
Die beliebte Skriptsprache Python ist für viele Raspberry-Pi-Programme Mittel der Wahl. Besonders Webentwickler profitieren von der Funktion http.server, die zu Testzwecken einen rudimentären Webserver startet. Für etwas mehr Sicherheit sorgt dabei der Wrapper Quickhttp. Bei Bedarf installieren Sie das Tool via Pip. Um einen Server zu starten, rufen Sie es ohne weitere Parameter auf. Quickhttp wartet dann am Port 8000 der lokalen Schnittstelle für zehn Minuten auf eingehende Verbindungen. Danach beendet es sich selbstständig. So bleibt kein Dienst versehentlich aktiv. Mit -t geben Sie ein anderes Zeitintervall an.
Wie bei der Funktion http.server dient das aktuelle Verzeichnis als Wurzelverzeichnis für die Dateien. Da Quickhttp sich nur mit der lokalen Schnittstelle verbindet, eröffnet dies keinen Zugriff für externe Anfragen. Möchten Sie, dass die Software auf einer anderen Schnittstelle Verbindungen annimmt, geben Sie diese explizit mit -b an. Im Gegensatz zu http.server erkennt Quickhttp nicht nur, wenn bereits ein anderer Dienst den TCP-Port 8000 nutzt, sondern findet außerdem selbstständig einen freien Port zwischen 8000 und 9000, wobei es maximal 50 Versuche unternimmt. Mit --port-max-tries passen Sie diese Anzahl an oder stellen mit --port-search-type auf eine Suche nach dem Zufallsprinzip um. Das zu durchsuchende Port-Spektrum legen Sie mit --port-range-min und --port-range-max fest.
Für verbreitete Shells wie die Bash, die Z-Shell und die Powershell bietet Quickhttp eine Unterstützung der Autovervollständigung. Das noch recht junge Projekt ist gerade für Python-Programmierer eine nützliche Hilfe. (agr)






