Linux Shell-Tricks

Cron, Nano & CCZE optimieren

08.06.2015 von David Wolski
Die Eingabeaufforderung (Shell) unter Linux ist mehr als ein Überbleibsel aus der Unix-Vorzeit, sondern ein reich ausgestatteter Werkzeugkasten, der auch für trickreiche Aufgaben das passende Tool enthält.

Netzwerk, WLAN und 3G: Dateiübertragung bei schlechter Verbindung

Während man im kabelgebundenen Netzwerk vielerorts im Gigabit-Rausch schwelgen darf, ist die Verbindungsqualität im Drahtlosnetzwerk oft mau, wenn der Access Point weit entfernt steht. In öffentlichen WLANs und beim Tethering via Smartphone kann man Netzwerkpakete oft einzeln per Handschlag begrüßen. Die Übertragung von größeren Dateien ist dann eine Qual, da ein Abbruch meist eine erneute Übertragung der gesamten Datei zur Folge hat.

Die meisten Übertragungsprotokolle planen längere Verbindungsabbrüche schlicht nicht ein. Zwar warten Client und Server bei allen Protokollen höflich eine Weile während einer hängenden Verbindung. Sobald aber ein definierter Time-out erreicht ist, wird die Verbindung geschlossen und die unvollständig übertragene Datei verworfen, damit der Server Ressourcen für neue Verbindungen hat. Aus der Perspektive des Servers ist es durchaus wünschenswert, nicht lange auf Clients zu warten. Eine Ausnahme ist FTP, das einen abgebrochenen Upload/Download wieder aufnehmen kann, sofern Client und Server die Befehle „REST“ und „SIZE“ unterstützen. Aber der Einsatz von FTP auf dem eigenen Server oder Linux-PC zieht einen Rattenschwanz anderer Probleme nach sich wie etwa die Problematik unverschlüsselt übermittelter Log-ins und Daten. Zwischen zwei Linux-Systemen können Sie Dateien mit rsync austauschen, das sowohl ein Protokoll als auch ein Programm zur Datenübertragung ist. Der Vorteil ist, dass rsync als Gegenstelle nur einen Server mit Open SSH benötigt, der unter Linux flink eingerichtet ist. Es arbeitet zuverlässig, selbst wenn die Verbindung während der Übertragung immer wieder mal zusammenbricht. Damit ist rsync zur Übertragung großer Dateien ideal und anderen Protokollen überlegen. Rufen Sie rsync dazu mit dem zusätzlichen Parameter „--partial“ auf:

rsync --partial --progress --rsh=ssh [Dateiname] [Server]:[Dateiname]

Dieser Befehl kopiert die Datei mit dem Namen [„Dateiname]“ auf den angegebenen Server mit der Adresse „[Server]“, auf dem Open SSH laufen muss. Bricht die Verbindung zwischendurch ab, führt rsync nach einem erneuten Verbindungsaufbau automatisch die Übertragung fort.

Das Tool ccze: Logdateien übersichtlicher ausgeben

Desktop-Anwender müssen selten in den Logdateien eines Systems den genauen Wortlaut einer Fehlermeldung nachsehen. Ganz anders auf dem eigenen Linux-Server im Internet oder auf dem Raspberry Pi als Mini-Server im Netzwerk: Hier gehört die Überprüfung von Logs zu den Standardaufgaben.

Übersichtlich dank farbiger Syntax: Das Tool ccze fügt in die Ausgabe Ansi-Steuerzeichen ein. Das hilft zur farbigen Absetzung von Textelementen etwa in Logdateien.

Logdateien sind Textwüsten, und die Ausgabe in der Kommandozeile ist der Übersicht nicht gerade zuträglich. Ein kleines Tool hilft, typische Logs mit Zeitstempel pro Zeile, wie sie etwa der Webserver Apache produziert, mittels farbiger Syntaxhervorhebung übersichtlicher darzustellen. Das Tool mit dem Namen ccze ist in den Standard-Software-Quellen von Ubuntu, Debian und Raspbian enthalten und formt die Ausgabe per Pipe-Befehl um. Damit ist es der perfekte Begleiter für Befehle wie „cat“ oder „tail“ zur Anzeige von Logdateien. Mit

sudo apt-get install ccze

ist es umstandslos installiert, und bei der Eingabe von man ccze gibt es auch eine Dokumentation. Die Umformung von ccze reagiert auf Schlüsselbegriffe und Formatierungen, um beispielsweise Zeitangaben und Fehlermeldungen per Ansi-Steuerzeichen einzufärben. So können Sie sich mit

dmesg | ccze -A

die Kernel-Meldungen farbig formatiert ansehen.

Ein weiteres Beispiel:

sudo tail /var/log/apache2/error.log | ccze -A

Dieser Befehl verknüpft ccze mittels Pipe-Zeichen „|“ mit dem Befehl „tail“ zur Anzeige von Apache-Logdateien.

Taskplaner Cron: Hilfestellung für die Crontab-Syntax

Stündlich, täglich, monatlich: Neben Intervallen können Sie auf www.crontab-generator.org auch feste Zeiten für Cron-Jobs angeben und sich die passende Syntax ausgeben lassen.

Cron ist fester Bestandteil eines Linux-Systems und kann zu festgelegten Zeitpunkten automatisch Programme oder Scripts ausführen („Cron-Jobs“. Jeder Benutzer kann mit dem Aufruf „crontab –e“ einen Editor starten, um eigene Tasks einrichten. Die Definition der Zeitintervalle oder fester Zeiten ist aber nicht ganz einfach.

Wer die Notation von Zeiten in der Konfiguration von Cron nicht in Handbüchern nachschlagen will, bekommt eine Hilfestellung online. Die interaktive Webseite http://www.crontab-generator.org präsentiert eine englischsprachige Menüoberfläche, auf der Sie die gewünschte Zeit oder das Intervall per Klick auswählen. In den Feldern „Minute“, „Hours“, „Days“, „Month“ können Sie ein Intervall oder einen festen Zeitpunkt eingeben. Das Eingabefeld „Command To Execute“ nimmt den gewünschten Befehl auf, und ein Klick auf „Generate Crontab Line“ gibt die resultierende Zeile mit den berechneten Zeitangaben für Cron aus.

Texteditor Nano: Die Undo-Funktion nutzen

Nano mit aktiviertem Undo: Texteditoren kommen in der Shell üblicherweise zur Systemadministration zum Einsatz, wo wenig schiefgehen darf. Umso nützlicher ist hier eine Undo-Funktion.

Bei der Konfiguration und Administration von Linux-Rechnern per Kommandozeile sind textbasierte Editoren die wichtigsten Werkzeuge. Der vorinstallierte Standard-Editor ist unter Ubuntu, Mint, Debian und Abkömmlingen der leicht zu erlernende Nano. Dieser ist nicht so mächtig wie vi und vim, bietet aber ebenfalls fortgeschrittene Funktionen – beispielsweise ein verstecktes Undo.

Standardmäßig beherrscht Nano kein Undo, da der Entwickler diese Funktion vor Jahren erst einmal als Experiment eingeführt hatte. Mittlerweile ist Undo nicht mehr experimentell und kann leicht aktiviert werden. Rufen Sie dazu den Editor mit dem Parameter „-u“ auf:

nano -u [Dateiname]

Jetzt können Sie mit der Tastenkombination Alt-U den letzten Schritt rückgängig machen und mit Alt-E wiederholen (Redo). Wenn Sie diese beiden nützliche Funktion in nano stets aktiviert haben wollen, dann legen Sie mit

nano ~/.nanorc

die Konfigurationsdatei „.nanorc“ im Home-Verzeichnis neu an oder öffnen diese, falls bereits vorhanden. Fügen Sie dort die zusätzliche Zeile „set undo“ ein.

(PC-Welt/ad)