crond: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Michi (Diskussion | Beiträge) |
||
Zeile 75: | Zeile 75: | ||
== Weblinks == | == Weblinks == | ||
{{ | {{dewi|Cron|cron}} | ||
* [http://www.perlunity.de/perl/manual/cron_page1.shtml CRON: Ein Script zeitgesteuert ausführen] | * [http://www.perlunity.de/perl/manual/cron_page1.shtml CRON: Ein Script zeitgesteuert ausführen] | ||
Version vom 28. Januar 2009, 21:40 Uhr
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 unter Gnome sowie Kcron unter 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