Auftragsersteller vom Dienst

Crontabellen per Mausklick

01.01.2001
So nützlich der Crondämon ist, um den Rechner zu festgelegten Zeiten den einen oder anderen Auftrag ausführen zu lassen – das Format, in dem er sich bitten lässt, ist einigermaßen gewöhnungsbedürftig. Hier helfen grafische Crontab-Erstellungsprogramme.

Ob man seine Festplatte regelmäßig von den Überresten ungewollt sterbender Programme (den core-Dateien) säubern, sich rechtzeitig an den Geburtstag der Liebsten erinnern oder morgens von der MP3-Sammlung wecken lassen will – kein Problem, wenn der Rechner so oder so fast rund um die Uhr läuft. Einfach einen Auftrag für den Crondämon verfasst, und schon muss man sich um nichts mehr selbst kümmern.

Der Haken dabei: Zwar gibt es ein Programm namens crontab, das den Lieblingseditor aufruft und mit einer groben Syntaxprüfung verhindert, dass allzu großer Unfug den Weg ins System findet [1,2], doch schreiben muss man die Crontabelle mit ihrem recht anspruchsvollen Aufbau letztlich doch selbst.

Auf Herz und Nieren

Allerdings gehört das Erstellen von Crontab-Einträgen nicht gerade zu den Dingen, bei denen man automatisch in Form bleibt, weil man sie täglich mindestens zweimal tut. Da schleicht sich ein Fehlerchen in der Zeitangabe oder bei der Syntax nur all zu leicht ein. Und manche/n Einsteiger/in mögen die syntaktischen Hürden derart abschrecken, dass er oder sie gänzlichst auf dieses nützliche Werkzeug verzichtet.

Grafische Ersatzprogramme für crontab drängen sich als Ausweg aus dem Dilemma förmlich auf. Einige dieser Helferlein nehmen wir im Folgenden unter die Lupe.

Unser Testparcours ist nicht ganz anspruchslos: Mit einem recht komplexen Aufruf prüfen wir, ob das Programm mit langen Kommandozeilen zurecht kommt. (Die unter Linux gängigen Crondämonen beachten meist bis zu 1024 Zeichen pro Crontabelleneintrag.) Dazu bauen wir aus den beiden Kommandozeilentools mix (ftp://sunsite.unc.edu/pub/Linux/apps/sound/mixers/mix-1.0.tar.gz) und mpg123 einen Wecker zusammen, der im Verzeichnis /music nach MP3-Dateien sucht, diese dienstags bis freitags um 7.25 Uhr mit halber Lautstärke (vb=50) in zufälliger Reihenfolge (-z) abspielt und sämtliche Ausgaben von Standardausgabe und Standardfehlerausgabe ins Datennirvana /dev/null schickt.

Vier Minuten später sind wir hoffentlich aufgestanden und wollen deshalb das nervige Gedudel um 7.29 Uhr mit killall automatisch ausschalten lassen. Hiermit testen wir, ob das Programm tatsächlich das gesamte Zeitspektrum des Crondämons ("jede Minute") ausnutzt. Für die, die morgens immer schwer aus den Federn kommen, springt der Wecker von 7.35 Uhr bis 7.39 Uhr noch ein zweites Mal an.

Anschließend lassen wir uns täglich um 8 Uhr die Morgenzeitung (netscape http://www.sueddeutsche.de/ &) servieren. Idealerweise weist uns das Programm darauf hin, dass wir hiermit ein Problem haben werden, wenn wir nicht eingeloggt sind und kein X-Server unter unserem Namen läuft.

Als vierte Aufgabe soll ein selbstgeschriebenes Skript aus dem Unterverzeichnis bin des eigenen Homeverzeichnisses täglich zwischen 0 und 23 Uhr aller 6 Stunden ein paar Aufräumarbeiten ausführen. Wir möchten uns das Angeben des genauen Pfads zu aufraeumen beim Eintippen des Kommandos sparen und setzen daher die Crontab-PATH-Variable zuvor auf $HOME/bin. Damit testen wir, ob das Frontend Variablen setzen kann und zwar nicht nur global einmal am Anfang der Crontabelle, sondern auch vor einem neuen Eintrag.

Allerdings werten Linux-Crondämonen in der Regel nur einige spezielle Variablen aus. Ein wirklich gutes GUI-Crontab-Programm lässt hier folglich nicht jede beliebige Variable setzen.

Listing 1 zeigt die von Hand geschriebene passende Crontab. Diese sollten alle Programme auch einlesen können. Hier liegt das Augenmerk speziell auf mit - und / realisierten Zeiträumen (0-23/6). Diese werden von den unter Linux gebräuchlichen Crondämonen erkannt, nicht jedoch von Cron-Implementationen anderer Unixbetriebssysteme. Ein weiteres Testkriterium beim Einlesen der handgeschriebenen Crontab liegt auf der richtigen Wiedergabe der Kommentare.

Zu guter Letzt prüfen wir noch, wie das Programm sich bei unmöglichen Tagesangaben wie einem 30. Februar oder einem 31. November verhält. Das und eine Plausibilitätsprüfung der auszuführenden Programme sind zugegebenerweise Anforderungen, die auch das Kommandozeilen-crontab-Programm nicht erfüllt. Da "Klickprogramme" gerade "unbedarfteren" Anwender/innen den Zugang erleichtern wollen, müssen sie sich jedoch an härteren Kriterien messen lassen.

Tabelle 1 gibt die wichtigsten Kriterien und Informationen zu jedem Einzelprogramm wieder. Zum Vergleich ist auch das standardmäßig auf fast jedem Linuxsystem installierte crontab-Kommandozeilentool mit aufgeführt.

Listing 1

Beispiel für eine persönliche Crontabelle

 # DO NOT EDIT THIS FILE - edit the master and reinstall.
 # (/tmp/crontab.1514 installed on Wed Jan 6 21:44:50 1999)
 # (Cron version – $Id: cron2_red1.html,v 1.4 1999/03/06 22:44:46 lm Exp $)
 # Wecker
 25,35 7 * * Tue-Fri (/usr/local/bin/mix vb=50; /usr/bin/mpg123 -b 2048 -z `find /music -name \*.mp3`) > /dev/null 2>&1
 # nach 12 Minuten Gedudel Wecker ausschalten
 29,39 7 * * tue-fri killall mpg123
 # Die Morgenzeitung
 0 8 * * * netscape http://www.sueddeutsche.de/ &
 # Ab jetzt werden nur noch Programme in $HOME/bin ohne Pfadangabe
 # gefunden
 PATH=$HOME/bin
 # Aufraeumskript
 0 0-23/6 * * * aufraeumen

Kcron

Dass eine Rundum-Sorglos-Desktop-Umgebung wie KDE ein Crontab-Frontend mitbringt, steht beinahe zu erwarten. Tatsächlich ist dem erst seit KDE 2.0 wirklich so: kcron aus dem kdeadmin-Paket oder auch als einzelnes rpm-Paket installiert, findet sich im K-Menü unter System-->Aufgabenplaner Kcron oder lässt sich mit dem Befehl kcron & aufrufen (Abbildung 1).

Abbildung 1: kcron braucht die anfängliche Bedienungsanleitung

Neben dem eigentlichen Applikationsfenster erscheint eine kurze Bedienanleitung – und die ist wirklich nötig: Dass man eine neue Aufgabe erstellt, indem man den Aufgaben-Ordner mit einem Doppelklick anwählt, würden vermutlich die Meisten erwarten. Aber da passiert nichts, stattdessen muss man umständlicherweise im Bearbeiten-Menü den Eintrag Neu... auswählen oder rasch das Tastaturkürzel Strg-N lernen.

Das Aufgabenerstellungsfenster (Abbildung 2) ist übersichtlich, lässt aber nur Aufgaben im Fünfminutentakt zu. Beim Import einer vorhandenen Crontab gibt es zwar auch mit nicht durch 5 teilbaren Minuten keine Probleme – nur sollte man diese Einträge nicht ändern wollen. Trägt man keinen Monat ein, beschwert sich das Programm, und man ist gezwungen, alle 12 Monate einzeln anzukreuzen, will man das Sternchen in der Monatsspalte mit kcron nachahmen.

Abbildung 2: Aufgeräumt, aber nicht minutiös einstellbar

Vorbildlich das Angeben der Variablen: Von Cron zugelassene lassen sich direkt aus dem Menü auswählen und werden gleich mit einem erklärenden Kommentar versehen. Allerdings verweigert kcron sich Phantasievariablen nicht, und das Verändern der Umgebung für einzelne Kommandos, indem man jedem Crontab-Eintrag die passende Variablen voran stellt, ist ebenfalls nicht möglich.

Nutzt man die Möglichkeit, sich über das Auswählen-Menü das auszuführende Programm auszusuchen, wird es so oder so mit vollständigem Pfad angegeben, sodass sich diese Kritik für die PATH-Variable abmildert. Klickt man sich das auszuführende Kommando derart zusammen, bekommt man zudem eine Prüfung der Ausführbarkeitsrechte gratis dazu.

Sowohl Variablen als auch Cronjobs dürfen kommentiert werden. Schade dabei ist lediglich, dass sich kcron mehrzeiligen Kommentaren beim Import verweigert. Zudem überascht das Programm mit einem sehr sinnvollen, wenngleich nicht gerade auf den ersten Blick erkennbaren Feature: Crontabeinträge lassen sich bei kcron deaktivieren. Hinter den Kulissen wird ein solcher Eintrag speziell auskommentiert, bleibt damit erhalten, kann geändert und bei Bedarf wieder aktiviert werden.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Jobs mit Cron abarbeiten
    So chaotisch Linuxer/innen auch manchmal sein mögen – meistens werkelt unbeachtet im Hintergrund ein Pünktlichkeitsfanatiker namens cron(d) auf ihren Rechnern. Ihn zu nutzen, kann eine Menge langweilige Arbeit ersparen.
  • Cron, At
    Cron- und At-Jobs automatisieren Abläufe auf dem Linux-System, rotieren Logfiles, erstellen automatisch Backups und wecken Sie morgens mit der eigenen MP3-Sammlung – auf Wunsch nur an bestimmten Tagen. Wir zeigen, wie Sie Dinge punktgenau erledigen lassen.
  • Korner: KCron
    Warum selber an Aufgaben denken, die zu einem bestimmten Zeitpunkt ausgeführt werden sollen, wenn einem hilfreiche Programme wie der Cron-Daemon diese Arbeit gern abnehmen? Mit der grafische Oberfläche KCron legen Sie fest, was wann zu erledigen ist.
  • Programme zeitgesteuert abarbeiten
    Einmal angeordnet und immer wieder ausgeführt – Linux-User haben verschiedene Möglichkeiten, sich Arbeit durch Automatisierung zu ersparen.
  • Angeklickt
Kommentare

Infos zur Publikation

title_2014_10

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...