crond

Aus Mikiwiki
Version vom 7. Februar 2010, 21:13 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Der Dämon crond durchsucht alle 60 Sekunden eine Reihe von Dateien nach einmalig oder regelmässig zu einem bestimmten Zeitpunkt auszuführenden Shell-Befehlen bzw. Shellskripten. Die einzelnen Aufträge heissen "Cronjobs", die in der sogenannten "Crontab" verwaltet werden. Als Editor wird das in der Umgebungsvariable "$EDITOR" definierte Programm verwendet.

Jeder berechtigte Benutzer kann sich eigene Tabellen anlegen, um zyklisch auszuführende Befehle zu bestimmten Zeiten zu starten. crond berichtet per E-Mail an den jeweiligen Benutzer, dass ein Auftrag erfolgreich ausgeführt wurde.

Als grafische Programme zur Bedienung sind Gcrontab (Gnome) sowie Kcron (KDE) zu nennen.

Syntax

Die Crontabs haben folgende Form.

Minute Stunde Tag Monat Wochentag Befehl

Mögliche Werte sind die folgenden.

Minute Werte von 0 bis 59 oder "*"
Stunde Werte von 0 bis 23 oder "*"
Tag Werte von 1 bis 31 oder "*"
Monat Werte von 1 bis 12, "Jan" bis "Dec", "jan" bis "dec", oder "*"
Wochentag Werte von 0 bis 7 (sowohl 0 wie 7 stehen für den Sonntag), "Sun" bis "Sat", "sun" bis "sat", oder "*"
Befehl Der auszuführende Befehl mit Optionen oder ein aufzurufendes Skript

Konfiguration

In der Datei "/etc/crontab" sind alle systemweiten Aufgaben aufgelistet, die crond von sich aus übernimmt. Im Gegensatz zu den Benutzer-Crontabs gibt es hier eine siebte Spalte, die den Benutzer angibt, mit dessen Rechten der Befehl ausgeführt wird (meist ist das der Benutzer "root").

crond durchsucht ausserdem die Verzeichnisse "/var/spool/atjobs" nach einmalig und "/var/spool/cron/crontabs" (Debian) bzw. "/var/spool/cron/tabs" (SUSE Linux) nach regelmässig auszuführenden Aufgaben.

Verwendung

Bearbeiten der Crontab des aktuellen Benutzers. Um zur Bearbeitung der Crontab den Editor vi zu verwenden, kann vorher der Befehl "export EDITOR=vi" oder "export VISUAL=vi" aufgerufen werden.

$ crontab -e

Bearbeiten der Crontab von Benutzer "mik" als Benutzer "root".

$ crontab -u mik -e

Ansehen der Crontab des aktuellen Benutzers.

$ crontab -l

Beispiele

Anzeige von Datum und Uhrzeit auf der Konsole an jedem Tag des Monats stündlich zwischen 9 und 18 Uhr.

0 9-18 * * * date > /dev/console

Anzeige von Datum und Uhrzeit auf der Konsole jeweils Montags und Freitag zu jeder Stunde.

0 * * * 2,5 date > /dev/console

Anzeige von Datum und Uhrzeit auf der Konsole zu jeder geraden zweiten Stunde.

0 */2 * * * date > /dev/console

Anzeige von Datum und Uhrzeit auf der Konsole zu jeder zweiten Stunde zwischen 1 und 6 Uhr (hier also wie "1,3,5").

0 1-6/2 * * * date > /dev/console

Letzter Tag jedes Monats.

0 22 28 2               * Befehl
0 22 29 2               * Befehl
0 22 30 4,6,9,11        * Befehl
0 22 31 1,3,5,7,8,10,12 * Befehl

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Wikipedia ger cronwbm Enzyklopädischer Artikel
country DE.gif Perl Unity ger Cron: Ein Script zeitgesteuert ausführenwbm