Korner: KCron

Aus LinuxUser 04/2003

Korner: KCron

Alles zu seiner Zeit

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.

Korner

In dieser Rubrik stellen wir Monat für Monat Tools vor, die sich bei der Arbeit unter KDE als besonders nützlich erweisen, eine Aufgabe erfüllen, die sonst geflissentlich unbeachtet bleibt, oder einfach nur zu den netten Dingen im Leben gehören, die man – einmal entdeckt – nicht mehr missen möchte.

Nicht nur in Horror-Romanen treiben Dämonen ihr Unwesen, sondern auch auf dem heimischen Rechner. Doch im Gegensatz zu den höllischen Plagegeistern der Groschenliteratur machen die Linux-Daemonen ihren Besitzern das Leben leichter: Genaugenommen kommt das Wort “Daemon” von “Disk and Execution Monitor”, einer Bezeichnung, die heute nicht mehr besonders gut verständlich macht, dass es sich dabei um Dienstprogramme handelt, die meist beim Booten gestartet werden und im Hintergrund und ohne den User zu stören ihre Arbeit verrichten.

Pünktlich zu Diensten

So auch der cron-Dämon, der nimmermüde diverse Dateien Ihres Rechners dahingehend überprüft, ob nicht ein Userlein eine Aufgabe für ihn hinterlegt hat. Wer sich schon mal mit diesem hilfreichen Geist beschäftigt hat, weiß, dass dessen Auftragsbücher eine etwas undurchsichtige Syntax verwenden [1,2]. Doch schließlich gibt es mit KCron eine passende Benutzeroberfläche, die das Übertragen von Aufgaben an cron deutlich vereinfacht.

KCron ist Bestandteil des kdeadmin-Pakets, Sie brauchen sich daher in aller Regel nicht extra um die Installation kümmern, sondern können das Programm sofort über das K-Menü via System / KCron (Aufgabenplaner) starten.

Da sich leider auch KCron neuen Nutzern nicht sofort intuitiv erschließt, erscheint zunächst einmal ein Begrüßungsbildschirm, der beschreibt, wie man eine neue Aufgabe für cron (einen Cronjob) erstellt: Klicken Sie dazu den Aufgaben-Ordner in der KCron-Oberfläche (Abbildung 1) an, und wählen Sie in der Menüleiste Bearbeiten / Neu…. Alternativ bringt Sie auch das Tastenkürzel [Strg-N] ans Ziel.

Abbildung 1: KCron noch völlig ohne Aufgaben

Abbildung 1: KCron noch völlig ohne Aufgaben

Jetzt können Sie sich nach Lust und Laune im Fenster Aufgabe bearbeiten (Abbildung 2) austoben: Wählen Sie ein Programm aus, das Sie automatisch ausführen lassen möchten, und definieren Sie die Zeiten, wann dies geschehen soll. Wer bereits einmal per Hand Cronjobs angelegt hat, dürfte ein Manko bemerken: Statt im Minutentakt lässt KCron die Aufgabenplanung nur in Fünfminutenabständen zu.

Abbildung 2: Entfernen Sie Ihre Core-Dateien!

Abbildung 2: Entfernen Sie Ihre Core-Dateien!

Am Beispiel

Das Festlegen der Ausführzeiten sieht erst einmal nicht so schwierig aus – kniffliger zu beantworten ist die Frage, was man im Feld Programm: eintragen soll: Sinnvollerweise stehen hier Kommandozeilenaufrufe, wie Sie sie auch in einer Shell eingeben. Aufrufe grafischer Programme über cron entpuppen sich beim näheren Hinsehen hingegen als zweischneidige Angelegenheit: Wissen Sie, ob Sie zum Ausführungszeitpunkt tatsächlich grafisch eingeloggt sind? Der cron-Daemon startet von sich aus nämlich keine grafische Oberfläche.

Prädestiniert ist cron dagegen für Aufräumarbeiten: Mit dem Befehl

find /home/stefanie -name core -exec /bin/rm {} \;

im Programm:-Feld von Abbildung 2 startet cron um 21 Uhr abends das Programm find, das das Home-Verzeichnis der Autorin (/home/stefanie) nach core-Dateien durchforstet und diese ({}) – falls vorhanden – mit dem Kommando /bin/rm löscht.

Um später die Übersicht über die einzelnen Cronjobs zu behalten, fügen Sie – auch wenn es etwas lästig erscheint – im Feld Kommentar eine kurze Beschreibung des neuen Jobs ein.

Wenn Sie sowohl Monatstag(e) als auch Wochentag(e) angeben, wird die Aufgabe künftig sowohl bei entsprechendem Datum als auch an allen passenden Wochentagen ausgeführt. Nehmen wir an, Sie wählen unter Tage im Monat den 1. und den 15. sowie unter Wochentage den Freitag aus. Dann kommt Ihr Cronjob am 1. und 15. der gewählten Monate unabhängig vom Wochentag zur Ausführung, und außerdem an jedem Freitag, egal, auf welches Datum er fällt.

Wenn Sie das (standardmäßig gesetzte) Häkchen bei Aktiviert entfernen, wird die Aufgabe zwar im System vermerkt, kommt jedoch so lange nicht zur Ausführung, wie sie deaktiviert ist. Um einen Cronjob sofort auszuführen, wählen Sie diesen im Hauptfenster aus und gehen dann zu Bearbeiten / Jetzt starten.

Erfasste Einträge finden Sie unter Angabe des Kommentars, des zu startenden Programms und der dazugehörigen Uhrzeiten im Hauptfenster wieder (Abbildung 3). Achtung: KCron übergibt eine Aufgabe erst dann ans System, wenn Sie sie über den Menüeintrag Datei / Speichern oder durch einen Klick auf das Disketten-Icon gespeichert haben.

Abbildung 3: Welche Aufgaben stehen auf Ihrem System an?

Abbildung 3: Welche Aufgaben stehen auf Ihrem System an?

Änderungswünsche

Bereits erstellte Cronjobs lassen sich auch nachträglich noch ändern. Markieren Sie dazu den passenden Eintrag, und begeben Sie sich danach zum Menüpunkt Bearbeiten / Ändern…. Alternativ klicken Sie mit der rechten Maustaste auf die Aufgabe und wählen aus dem Kontextmenü den Punkt Ändern… aus, oder Sie merken sich das Tastenkürzel [Strg-O]. Daraufhin erscheint wieder der bereits bekannte Dialog-Bildschirm Aufgabe bearbeiten.

KCron erlaubt es Ihnen auch, Variablen einzurichten, die die Ausführungsumgebung der Cronjobs beeinflussen. Klicken Sie dazu im Hauptfenster auf den Eintrag Variablen, und wählen Sie wie zum Erstellen einer Aufgabe den Menüeintrag Bearbeiten / Neu… an. Sie können dabei aus der Liste der am häufigsten benutzten Umgebungsvariablen wählen. Klicken Sie hierzu auf den Pfeil neben dem Feld für den Variablennamen. Bei HOME können Sie das Verzeichnis angeben, das anstelle des normalen persönlichen Verzeichnisses des Benutzers verwendet werden soll, MAILTO ändern Sie, um E-Mails aus dem aufzurufenden Programm an eine andere als die normale Adresse schicken zu lassen (Abbildung 4). PATH definiert die Pfadliste, in der cron nach ausführbaren Programmen sucht, und mit SHELL können Sie die Shell angeben, die Sie anstelle der üblichen Bash benutzen wollen. Hier einzugreifen, lohnt sich jedoch nur, wenn Sie in der Kommandozeile Shellprogrammierungsspezialitäten einer bestimmten Shell verwenden wollen.

Auch Umgebungsvariablen finden erst dann ihren Weg ins cron-Auftragsbuch, wenn die Eingaben gespeichert wurden. Das Aktivieren oder Deaktivieren einer Variablen funktioniert ebenfalls analog zur Aufgabenaktivierung: Wählen Sie die betreffende Variable an, und bestimmen Sie den gewünschten Status über den Menüpunkt Bearbeiten / Aktiviert. Bei einer deaktivierten Variablen erscheint unter Beschreibung zur besseren Unterscheidung ein Deaktiviert.

Abbildung 4: Bestimmen Sie, an wen KCron die Benachrichtigungsmail schicken soll!

Abbildung 4: Bestimmen Sie, an wen KCron die Benachrichtigungsmail schicken soll!

Sollten Sie sich einmal anschauen wollen, wie Ihr Aufgabenbuch für cron ohne KCrons Verschönerungsbemühungen aussieht, reicht der Befehl crontab -l in einer Kommandozeile (Abbildung 5). Diese Cron-Tabelle können Sie mit crontab -e auch händisch editieren – doch Achtung: Hier ist meist der Editor vi mit im Spiel.

Abbildung 5: Auch das Editieren der Cron-Tabelle auf der Kommandozeile ist weiterhin möglich

Abbildung 5: Auch das Editieren der Cron-Tabelle auf der Kommandozeile ist weiterhin möglich

Glossar

core-Dateien

Dateien mit dem Namen core enthalten letzte Speicherabzüge eines abgestürzten Programms, aus denen Programmierer die Todesursache feststellen können – für normale Nutzer im Allgemeinen nur eine Verschwendung von kostbarem Plattenplatz.

Umgebungsvariablen

Die Shell stellt in der Regel eine Umgebung zur Verfügung, in der Nutzer eigene Einstellungen vornehmen können. Dazu gehören zum Beispiel Verzeichnisse, in denen nach Programmen gesucht wird, der Benutzername, der aktuelle Pfad, das Aussehen des Prompts usw. Diese Daten werden in so genannten Umgebungsvariablen gespeichert, deren Namen meist in Großbuchstaben angegeben werden. Den Variablen lassen sich Werte, zum Beispiel Pfadnamen, zuweisen. Mit dem Befehl env fragt man die aktuelle Belegung der Variablen ab. Wichtige Umgebungsvariablen sind HOME (enthält den Pfad des Benutzerverzeichnisses), USER (Benutzername) und PATH (Suchpfad für ausführbare Dateien).

Infos

[1] Patricia Jung: “Diener auf die Minute”, LinuxUser 12/2000, S. 80 ff., http://www.linux-user.de/ausgabe/2000/12/080-cron/cron-1.html

[2] Patricia Jung: “Wem die Stunde schlägt”, Linux-Magazin 08/1998, S. 63 ff., http://www.linux-magazin.de/Artikel/ausgabe/1998/08/Cron/cron.html

[3] Jürgen Jentsch: “Pünktlich ausgeführt”, LinuxUser 06/2002, S. 81 ff.

LinuxUser 04/2003 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben