Home / LinuxUser / 2001 / 01 / Crontabellen per Mausklick

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(271 Punkte bei 22 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

2645 Hits
Wertung: 0 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...