Auftragsersteller vom Dienst
Crontabellen per Mausklick
gat
Die Lücke, die Cromagnon im GNOME-Projekt nicht ausfüllt, versucht gat einzunehmen – und geht dabei erfrischend neue Wege. Für alte Crontab-Hasen auf den ersten Blick verwirrend wird der "0 8 * * *"-Eintrag aus Listing 1 als Every day at 8:00am angezeigt, doch macht diese "Übersetzung" in natürliche Sprache das Programm für Benutzer/innen ohne Kenntnis der Crontab-Syntax erst einigermaßen intuitiv anwendbar. Leider wird dieses Konzept nicht immer konsequent durchgehalten.
Dass sich der GTK-Task-Scheduler bemüht, die kryptische Crontab-Syntax weitestgehend vor den Anwender(inne)n zu verstecken, zeigt sich besonders daran, dass ein Wizard durch die Joberstellung geleitet. Diese an sich gute Idee wird jedoch nicht immer besonders durchdacht und/oder übersichtlich umgesetzt.
So ist es z. B. nur über den Punkt Custom (Abbildung 5) möglich, einen Auftrag anzulegen, der zweimal die Stunde, nicht jedoch genau aller halben Stunden ausgeführt wird, und hier muss man sich wieder ein wenig mit der Crontab-Syntax auskennen. Zuviel Wissen ist jedoch auch gefährlich, denn wenn man beispielsweise beim Wochentag ein (legales) Buchstabenkürzel wie mon (für Montag) eingibt, passiert überhaupt nichts, nicht einmal eine Fehlermeldung.
Beim Eintragen des Cronjob-Kommandos stellt der Wizard nur einen Browse...-Button als Hilfe zu Verfügung (Abbildung 6) und akzeptiert dabei auch problemlos nicht-ausführbare Dateien. Das allerdings sollte man dem Programm nicht negativ anrechnen, denn es besitzt mit einem "Test job"-Button im Hauptfenster als einziges im Testfeld eine Prüfmöglichkeit für das eingegebene Kommando. Hier fehlte eigentlich nur eine Warnung, dass der Crondämon grafische Programme schlecht ausführen kann, wenn man nicht unter X eingeloggt ist, dann wäre dieser Punkt nahezu perfekt umgesetzt.
Das Prädikat "Empfehlenswert" verspielt gat allerdings leichtfertig, indem es keinerlei Editiermöglichkeit für einmal erstellte Jobs bereit stellt – hier kann man derzeit nur löschen und neu schreiben. Auch mag der Eine oder die Andere beim ersten Aufruf ein wenig länger als vertretbar brauchen, ehe er/sie heraus gefunden hat, dass man zum Erstellen von Crontabs den Reiter Recurring jobs anwählen muss: Standardmäßig landet man in der Karteikarte One-time jobs zum Erstellen von At-Jobs.
Tabelle 1: Crontabmanager im Vergleich
| Name/Version | kcron 2.0pre | kcrontab 0.2.2 | cromagnon 0.1 | gat 0.9 | vcron 1.5 | tkt 1.1 | crontab (Vixie-Cron) |
|---|---|---|---|---|---|---|---|
| URL | KDE-Mirrors | RPMFind, z. B. http://rpmfind.net/linux/RPM/powertools/6.0/i386/kcrontab-0.2.2-1.i386.html | (gehört in aller Regel zur Basisinstallation) | ||||
| Voraussetzungen | KDE 2.0/Qt 2.x | KDE 1.0/Qt 1.x | GNOME/GTK | GNOME/GTK | Tcl/Tk 8.0 | Tcl/Tk 8.0 | Kommandozeile |
| Deutsche Lokalisierung? | ja | ja | nein | nein | ja | nein | (ja) |
| Genauigkeit beim Erzeugen der Crontab | 5-Minuten-Takt | 1-Minuten-Takt | 1-Minuten-Takt | 1-Minuten-Takt | 1-Minuten-Takt | 1-Minuten-Takt | 1-Minuten-Takt |
| Abweisen unmöglicher Dati wie 30.02. oder 31.11. | nein | nein | nein | nein | nein | nein | nein |
| Zeitangaben mit - und / | Import | Import und beim Erstellen | nein | Import | kein "/" beim Import | Import und beim Erstellen | ja |
| Kommandolänge | 100 Zeichen | 100 Zeichen | 2064 Zeichen | 1024 Zeichen (schreibt zwar längere Kommandos, stürzt dabei aber ab) | > 4000 Zeichen | > 4000 Zeichen | abhängig vom verwendeten Editor |
| Prüfen des Kommandos | Prüfen auf Ausführbarkeit bei Benutzung des Auswählen-Dialogs | nein | nein | "Test job"-Knopf | nein | nein | nein |
| Kommentare | für Variablen- und Auftragsangaben | für Auftragsangaben | für Auftragsangaben | nein | nein | ja | ja |
| Variablen | beliebig mit Menüauswahl für von Cron tatsächlich verstandene, jede nur einmal pro Crontab setzbar | beliebig, jede nur einmal pro Crontab setzbar | nein | nein | nein | MAILTO, SHELL, PATH | ja |
| Einlesen mit crontab installierter Crontabellen | ja | ja | ja | ja (entfernt Kommentare, sobald man mit gat einen neuen Job anlegt) | mit Abstrichen | nein | ja |
| Importieren handgeschriebener Crontabs aus sonstigen Dateien | nein | nein | nein | nein | nein | nur aus ~/.tct | ja |
| Ablegen der erzeugten Crontabelle im Cron-Spoolverzeichnis | ja | ja | nein | ja | ja | ja | ja |
| Unterstützung für at | nein | nein | nein | ja | ja | nein | nein |
Visual Cron
Ebenso beliebt wie die GUI-Toolkits Qt und GTK ist bei Crontabersatz-Autoren offenbar auch die Kombination aus der Skriptsprache Tcl und dem Toolkit Tk. Der Vertreter mit der längsten Geschichte in dieser illustren Runde heißt vcron, und hilft nicht nur die syntaktischen Tücken einer Crontabelle, sondern – wie gat – auch die eines At-Jobs elegant zu umgehen.
Doch Alter schützt vor Torheit nicht, und so enttäuscht vcron dadurch, dass weder Kommentare noch Variablen unterstützt werden. Unseren länglichen Weckereintrag verstümmelt das Tool, sobald man versucht, ihn zu ändern, und der 0-23/6-Eintrag wird nicht korrekt interpretiert.
Enttäuschend auch die Benutzerschnittstelle: Warum Tabulatorzeichen als \t angezeigt werden, wo es für Cron keinen Unterschied macht, ob man als Spaltentrenner Leerzeichen oder Tabulatoren verwendet werdet, muss man wohl den Autor selbst fragen. Dass das at-Fenster auch im leeren Zustand immer dieselbe Größe beansprucht wie der Cron-Teil, entspricht auch nicht mehr modernen GUI-Standards. Da reißt auch das hilfreiche Feature, die aktuelle Uhrzeit immer im Blickfeld zu haben, nicht mehr viel heraus (Abbildung 7).



