Es gibt tausende Tools und Utilities für Linux. “out of the box” pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten. Dieses Mal nehmen wir gatO unter die Lupe.
Mit den Diensten cron und at stehen auf jedem Linux-System minutengenaue Steuermechanismen zur Verfügung. So kann man sich morgens um sieben durch leise MP3-Musik aus dem Schlaf dudeln lassen (vorausgesetzt, der Lüfter im Rechner ist leise genug) oder die langwierige Berechnung einer Raytracing-Szene in die Nacht verlagern.
Wie man Cron nutzt, wurde ausführlich in “Diener auf die Minute” in Heft 12/2000, S. 80ff. beschrieben. Aber auch die Bedienung des at-Kommandos ist für Anfänger eher schwierig, weil bei der Datumsangabe ein bestimmtes Format eingehalten werden muss. Schön wäre hier ein grafisches Frontend – genau das stellt gatO von Antonio Luis Delgado Gonzalez dar.
Viertel vor …
Bevor Sie in den Genuss eines grafisch bedienbaren at kommen, müssen noch einige Voraussetzungen erfüllt sein. So benötigen Sie
- das GTK-Paket (libgtk o.ä.), dazu
- das GTK-Development-Paket (gtk-devel o.ä.) sowie
- autoconf und automake.
Nach dem Besuch der gatO-Homepage (http://www.arquired.es/users/aldelgado/proy/gato/default.htm) sind Sie um eine Datei (gato-0.6.6.tgz) reicher. Das Entpacken und Installieren des Programms funktioniert wie folgt:
tar xzf gato-0.6.6.tgz cd gato-0.6.6 su (root-Passwort eingeben) make cd .. rm -rf gato-0.6.6 exit
Zwölf!
Wenn alles geklappt hat, ist die ausführbare Datei gato jetzt im Verzeichnis /usr/local/bin zu finden. Da dieses üblicherweise in der PATH-Variablen enthalten ist, reicht es aus, gato & in einem xterm, K- oder GNOME-Terminal einzugeben, um das Programm zu starten. Das nun erscheinende Hauptfenster ist in Abbildung 1 dargestellt.
Es teilt sich in zwei wesentliche Bereiche auf. Die linke Hälfte zeigt die bereits in Auftrag gegebenen Aufgaben an, während rechts neue At-Jobs eingetragen werden. In Abbildung 1 befinden sich schon zwei Aufträge in der Warteschlange (“queue”), die am 8.2.2001 um 23:30 Uhr und am 9.2.2001 um 7:00 Uhr ausgeführt werden.
Jobvermittlung
Diesen wollen wir einen weiteren hinzu fügen. Da ein At-Job selten aus dem Aufruf eines einzelnen Programms besteht, erzeugen Sie am besten eine Textdatei, die die gewünschten Kommandos enthält. Als Beispiel speichern Sie z.B. folgende Zeilen in einer Textdatei unter dem Namen findexec in Ihrem Homeverzeichnis:
cd $HOME find . -type f -perm +111 > exec.log echo "Ausführbare Dateien in exec.log gelistet."
Dieser Dreizeiler sucht vom Homeverzeichnis ausgehend alle ausführbaren Dateien und legt das Ergebnis in der Datei exec.log ab. Die Datei findexec benötigt keine Ausführungsrechte, da gatO ihren Inhalt an at übergibt.
In der rechten Hälfte des gatO-Hauptfensters stellen Sie nun von Command auf File um und klicken dann auf den “…”-Knopf in der selben Zeile. Es öffnet sich eine Auswahlbox für die Datei, deren Inhalt später von at ausgeführt werden soll. Alternativ können Sie den Dateinamen auch direkt in das Feld rechts neben File eingeben.
Den Zeitpunkt, zu dem der Job erledigt werden soll, stellen Sie mit den darunter liegenden Feldern ein. Falls die Checkbox neben Day unangekreuzt bleibt, bezieht sich die Zeitangabe auf den gleichen Tag, so dass nur Stunde und Minute eine Rolle spielen. Ist Day dagegen angewählt, können Sie auch hier den “…”-Knopf benutzen, um mit einem Minikalender (Abbildung 2) komfortabel das Datum einzustellen.

Abbildung 2: Kalender
Wenn Sie die Uhrzeit oder den Tag nicht als Zahlen eintragen wollen, stehen Ihnen über die beiden Specified-Buttons Angaben wie midnight, teatime oder tomorrow, mon, tue zur Verfügung. In diesem Fall werden die Zahlen darunter ignoriert. Sollte ein Job von sich aus nichts ausgeben, Sie aber trotzdem an einer Benachrichtigung per Mail interessiert sein, wählen Sie den “Mail notification“-Button. Schließlich klicken Sie rechts unten auf Add, um den Job in die Warteschlange aufzunehmen.
Vergesslich?
Wenn Sie schon mehrere Jobs eingetragen haben, aber nicht mehr wissen, was die einzelnen Aufträge tun, müssen Sie nur den passenden Eintrag auf der linken Seite markieren und auf den Knopf View klicken. Ein eigenes Fenster stellt dann die Kommandos dar, aus denen der Job besteht, wobei der erste Teil aus gato-internen Zeilen besteht und erst danach der eigentliche Job folgt (Abbildung 3).
Natürlich lassen sich mit dem Knopf Del auch Aufträge aus der Warteschlange entfernen – zumindest solange sie noch nicht ausgeführt wurden. Der Refresh-Button dient dazu, die Jobliste neu darzustellen. Dabei verschwinden die Jobs aus der Liste, die seit dem letzten Refresh nicht mehr in der Warteschlage stehen, weil sie entweder gelöscht oder ausgeführt wurden. Über die Bedeutung des Exit-Knopfs muss hier wohl nichts gesagt werden.
Wenn Sie mit gatO gut zurecht kommen, gibt es noch eine gute Nachricht für alle, die im Übersichtsartikel “Auftragsersteller vom Dienst” in Heft 01/2001 kein geeignetes Programm zum Verwalten von Cron-Jobs gefunden haben: Antonio Luis Delgado Gonzalez schreibt ebenfalls an einem Programm in dieser Kategorie – gcrontab, zu finden unter http://www.arquired.es/users/aldelgado/proy/gcrontab/.
Glossar
-
cron
-
Dient zum regelmäßigen zeitgesteuerten Ausführen beliebiger Konsolenprogramme (“Cron-Jobs”) und kümmert sich so unter anderem um die Aktualisierung der Datenbank für das locate-Kommando.
-
at
-
Im Gegensatz zu cron führt at seine Aufträge (“At-Jobs”) einmalig zu einem festgelegten Zeitpunkt aus. Eventuelle Ausgaben des gestarteten Programms werden als Mail an den Besitzer des At-Jobs verschickt.
-
Raytracing
-
Verfahren zur fotorealistischen Berechnung dreidimensionaler Bilder, das sehr rechenintensiv ist.
-
GTK
-
Das “Gimp Toolkit” ist eine Programmierbibliothek, die das Erstellen von Menüs, Dialogboxen u.a. Fensterelemente unter X11 erleichtert. Sie wurde zunächst für das Grafikprogramm Gimp geschrieben, ist aber inzwischen Grundlage vieler anderer Programme.
-
autoconf und automake
-
Tools zur automatischen Erstellung eines configure-Skripts. Das Skript dient zum automatischen Auswerten von Eigenschaften des Systems, auf dem ein Quelltext kompiliert werden soll. So findet configure z.B. selbstständig heraus, welcher C-Compiler installiert ist. Mit Hilfe dieses Werkzeugs ist es möglich, plattformübergreifend geschriebene Software auf verschiedenen (meist Unix-) Systemen zu kompilieren, ohne per Hand Änderungen vornehmen zu müssen.
-
PATH
-
In dieser Variablen sind durch Doppelpunkt (“colon”) getrennte Verzeichnisse aufgelistet. Diese werden von der Shell nach Kommandos durchsucht, die der Benutzer ohne Pfadangabe eingibt. So wird etwa ls als /bin/ls gefunden.







