Provided by: manpages-de_4.13-4_all 

BEZEICHNUNG
crond - Daemon zur geplanten Ausführung von Befehlen (Vixie Cron)
ÜBERSICHT
cron [-f] [-l] [-L Protokollierstufe]
BESCHREIBUNG
cron wird automatisch aus /etc/init.d gestartet, sobald Mehrbenutzer-Runlevel erreicht sind.
OPTIONEN
-f bleibt im Vordergrundmodus und wird nicht daemonisiert.
-l aktiviert LSB-kompatible Namen für die Dateien in /etc/cron.d. Diese Einstellung wirkt sich
jedoch nicht auf die Auswertung von Dateien unter /etc/cron.hourly, /etc/cron.daily,
/etc/cron.weekly oder /etc/cron.monthly aus.
-n bezieht den FQDN (den vollständigen Rechnernamen) beim Versenden von E-Mails im Betreff ein.
Standardmäßig kürzt cron den Rechnernamen ab.
-L Protokollierstufe
teilt cron mit, was über Aufträge als Summe der folgenden Werte protokolliert werden soll (Fehler
werden unabhängig von diesem Wert protokolliert):
1 protokolliert den Start aller Cron-Aufträge.
2 protokolliert das Ende aller Cron-Aufträge.
4 protokolliert alle fehlgeschlagenen Aufträge (Exit-Status != 0).
8 protokolliert die Prozessnummer aller Cron-Aufträge.
Die Vorgabe ist die Protokollierung des Starts aller Aufträge (1). Die Protokollierung wird
deaktiviert, wenn die Protokollierstufe auf Null (0) gesetzt ist. Ein Wert von 15 wählt alle
Optionen aus.
ANMERKUNGEN
cron durchsucht seinen Spool-Bereich (/var/spool/cron/crontabs) nach Crontab-Dateien (die nach den
Benutzerkonten in /etc/passwd benannt sind). Die gefundenen Crontabs werden in den Speicher geladen.
Beachten Sie, dass auf Crontabs in diesem Verzeichnis nicht direkt zugegriffen werden sollte - zum
Zugriff und zur Aktualisierung sollte der Befehl crontab verwendet werden.
cron liest auch die Datei /etc/crontab, die ein etwas anderes Format hat (siehe crontab(5)). Unter Debian
ist der Inhalt der Datei /etc/crontab so vordefiniert, dass Programme unter /etc/cron.hourly,
/etc/ron.daily, /etc/cron.weekly und /etc/cron.monthly ausgeführt werden. Diese Konfiguration ist
Debian-spezifisch; lesen Sie dazu den nachfolgenden Hinweis DEBIAN-SPEZIFISCH.
Unter Debian liest cron zusätzlich die Dateien im Verzeichnis /etc/cron.d. cron behandelt die Dateien in
/etc/cron.d auf die gleiche Weise wie die Datei /etc/crontab (sie folgen dem besonderen Format dieser
Datei, das heißt, sie enthalten das Feld user). Allerdings sind sie von /etc/crontab unabhängig: Sie
erben beispielsweise nicht die Werte der Umgebungsvariablen. Diese Abweichung ist Debian-spezifisch;
lesen Sie dazu den Hinweis DEBIAN-SPEZIFISCH unten.
Wie /etc/crontab werden die Dateien im Verzeichnis /etc/cron.d auf Änderungen überwacht. Im Allgemeinen
sollte der Systemverwalter nicht /etc/cron.d/, sondern die Standarddatei des Systems /etc/crontab
verwenden.
Die Datei /etc/crontab und die Dateien in /etc/cron.d müssen Root gehören und dürfen nicht für die Gruppe
oder für Andere schreibbar sein. Im Gegensatz zum Spool-Bereich dürfen die Dateien unter /etc/cron.d,
/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly auch Symlinks sein. Das setzt
allerdings voraus, dass sowohl der Symlink als auch die Datei, auf die er zeigt, Root gehören. Die
Dateien unter /etc/cron.d müssen nicht ausführbar sein, während die Dateien unter /etc/cron.hourly,
/etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly ausführbar sein dürfen, weil sie von run-parts
ausgeführt werden (siehe run-parts(8) für weitere Informationen).
cron wacht dann jede Minute auf, untersucht alle gespeicherten Crontabs und prüft jeden Befehl, um zu
sehen, ob er in der aktuellen Minute ausgeführt werden sollte. Beim Ausführen von Befehlen werden alle
Ausgaben per E-Mail an den Eigentümer der Crontab-Datei (oder an den Benutzer, der in der
Umgebungsvariable MAILTO, falls diese existiert, genannt ist) vom Eigentümer der Crontab (oder von der
E-Mail-Adresse, die in der Crontab aufgeführten Umgebungsvariable MAILFROM genannt ist, falls diese
existiert) versendet. Bei den Kind-Kopien von cron, unter denen diese Prozesse ausgeführt werden, wird
der Name in Großbuchstaben umgewandelt, wie in den Ausgaben von syslog und ps zu sehen ist.
Zusätzlich prüft cron jede Minute, ob sich die Änderungszeit des Spool-Verzeichnisses (oder die
Änderungszeit der Datei /etc/crontab) geändert hat. Falls dem so ist, untersucht cron dann die
Änderungszeit aller Crontabs und lädt jene neu, die sich geändert haben. Daher muss cron nicht immer neu
gestartet werden, wenn sich eine Crontab-Datei geändert hat. Beachten Sie, dass der Befehl crontab(1)
immer dann die Änderungszeit des Spool-Verzeichnisses aktualisiert, wenn es eine Crontab-Datei ändert.
Änderungen der Uhrzeit um weniger als drei Stunden müssen besonders berücksichtigt werden, zum Beispiel
am Beginn oder Ende der Sommerzeit. Wenn die Uhr vorgestellt wurde, werden die Aufträge, die in der
übersprungenen Zeit ausgeführt werden würden, baldmöglichst nach der Änderung ausgeführt. Umgekehrt
werden bei einer Zurückstellung um weniger als drei Stunden die Aufträge, die in die wiederholte
Zeitspanne fallen, nicht erneut ausgeführt.
Nur Aufträge, die zu einer bestimmten Zeit ausgeführt werden (die weder als @hourly noch als »*« in der
Stunden- oder Minutenangabe angegeben sind), sind davon betroffen. Aufträge, die mit Platzhaltern
angegeben sind, werden basierend auf der neuen Zeit unmittelbar ausgeführt.
Änderungen der Zeit von mehr als drei Stunden werden als Korrekturen der Uhrzeit betrachtet und die neue
Zeit sofort angewendet.
cron speichert seine Aktionen in der Systemprotokolleinrichtung »cron«. Die Protokollierung kann mit dem
Standardwerkzeug syslogd(8) gesteuert werden.
UMGEBUNGSVARIABLEN
Falls auf Debian-Systemen in der Datei /etc/default/cron konfiguriert, können die Locale-Einstellungen
für den cron-Daemon mittels /etc/environment oder /etc/default/locale verwaltet werden, wobei die Werte
des Letzteren Vorrang haben. Diese Dateien werden gelesen und zum Setzen der Umgebungsvariablen LANG,
LC_ALL und LC_CTYPE verwendet. Diese Variablen dienen dann zum Festlegen des Zeichensatzes für E-Mails,
der standardmäßig auf »C« gesetzt ist.
Dies beeinflusst NICHT die Umgebung von Aufgaben, die unter cron ausgeführt werden. Weitere
Informationen, wie Sie die Umgebung von Aufgaben anpassen können, finden Sie in crontab(5).
Der Daemon verwendet (falls vorhanden) die Definition aus /etc/timezone für die Zeitzone.
Die Umgebung kann in den Crontab-Definitionen der Benutzer neu eingerichtet werden, aber cron führt
Aufgaben nur in einer einzelnen Zeitzone aus.
DEBIAN-SPEZIFISCH
Debian führt einige Änderungen an cron ein, die bei den Originalautoren ursprünglich nicht verfügbar
waren. Die wichtigsten Änderungen sind:
— Unterstützung für /etc/cron.{hourly,daily,weekly,monthly} mittels /etc/crontab,
— Unterstützung für /etc/cron.d (Ergänzungsverzeichnis für Crontabs von Paketen),
— PAM-Unterstützung,
— SELinux-Unterstützung,
— Auditprotokoll-Unterstützung,
— Sommer-/Winterzeitumstellung und weitere zeitbezogene Änderungen und Korrekturen,
— SGID crontab(1) anstelle von SUID root,
— Debian-spezifische Dateispeicherorte und Befehle,
— Debian-spezifische Konfiguration (/etc/default/cron),
— sowie einige weitere kleinere Funktionalitäten und Korrekturen.
Unterstützung für /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly wird unter
Debian über die Standardeinstellung der Datei /etc/crontab bereitgestellt (siehe das systemweite Beispiel
in crontab(5)). Die standardmäßige systemweite Crontab enthält vier Aufgaben: Ausführung jede Stunde,
jeden Tag, jede Woche und jeden Monat. Jede dieser Aufgaben führt run-parts aus, wobei jedes der
Verzeichnisse als Argument übergeben wird. Diese Aufgaben sind deaktiviert, falls anacron installiert ist
(außer für die stündlich auszuführenden Aufgaben), um Konflikte zwischen beiden Daemons zu vermeiden.
Wie oben beschrieben, müssen die Dateien in diesen Verzeichnissen einige Plausibilitätsprüfungen
durchlaufen, wie folgende: Sie müssen ausführbar sein, sie müssen Root gehören, sie dürfen von der Gruppe
oder anderen nicht schreibbar sein und, falls es Symlinks sind, auf Dateien zeigen, die Root gehören.
Zusätzlich müssen die Dateinamen den Erfordernissen von run-parts genügen: Sie dürfen nur aus Buchstaben,
Ziffern und den speziellen Zeichen Unterstrich (»_«) und Bindestrich (»-«) bestehen. Jede Datei, die
diese Voraussetzungen nicht erfüllt, wird von run-parts nicht ausgeführt. Beispielsweise werden alle
Dateien ignoriert, deren Namen Punkte enthalten. Dadurch wird cron daran gehindert, Dateien auszuführen,
welche die Debian-Paketverwaltung bei der Verarbeitung von Dateien in /etc/cron.d/ als
Konfigurationsdateien hinterlassen hat (das heißt, Dateien mit den Endungen .dpkg-dist, .dpkg-orig und
.dpkg-new).
Diese Funktionalität kann von Systemverwaltern und Paketen verwendet werden, um Aufgaben einzubeziehen,
die in definierten Abständen ausgeführt werden sollen. Dateien, die von Paketen in diesen Verzeichnissen
erstellt wurden, sollten nach dem Paket benannt werden, das sie dort erstellt hat.
Unterstützung für /etc/cron.d ist im cron-Daemon selbst enthalten, der diesen Ort als systemweiter
Crontab-Spool behandelt. Dieses Verzeichnis kann beliebige Dateien enthalten, welche Aufgaben definieren,
die dem in der Datei /etc/crontab verwendeten Format folgen. Das heißt, dass diese Dateien - im Gegensatz
zum Benutzer-Spool von cron - den Benutzernamen in der Aufgabendefinition bereitstellen müssen, unter dem
die Aufgaben ausgeführt werden sollen.
Dateien in diesem Verzeichnis müssen Root gehören, müssen nicht ausführbar sein (es sind
Konfigurationsdateien, genau wie /etc/crontab) und müssen zur Benennungskonvention von run-parts(8)
konform sein: Sie dürfen nur aus Groß- und Kleinbuchstaben, Ziffern, Unterstrichen und Bindestrichen
bestehen. Das bedeutet, dass sie keine Punkte enthalten dürfen. Falls die Option -l an cron übergeben
wird (die Sie in /etc/default/cron einrichten können, siehe unten), dann müssen sie der
LSB-Namensraumspezifikation entsprechen, genau wie bei der Option --lsbsysinit von run-parts.
Pakete, die eine feinere Kontrolle über ihre Planung benötigen, als es in den Verzeichnissen
/etc/cron.{hourly,daily,weekly,monthly} möglich ist, soll mit dieser Funktionalität ermöglicht werden,
eine Crontab-Datei zu /etc/cron.d hinzuzufügen. Solche Dateien sollten nach dem Paket benannt werden, das
sie dort bereitgestellt hat.
Die Standardkonfiguration von cron wird auch durch die Datei /etc/default/cron beeinflusst, welche vom
init.d-Skript gelesen wird, das den cron-Daemon startet. Diese Datei bestimmt, ob cron die
Umgebungsvariablen des Systems liest und es ermöglicht, vor der Ausführung von cron zusätzliche Optionen
hinzuzufügen, entweder zum Einrichten von dessen Protokollierung oder um festzulegen, wie die Dateien in
/etc/cron.d behandelt werden sollen.
SIEHE AUCH
crontab(1), crontab(5), run-parts(8)
AUTOR
Paul Vixie <paul@vix.com> ist der Autor von cron und der ursprüngliche Verfasser dieser Handbuchseite.
Diese Handbuchseite wurde für Debian von Steve Greenland, Javier Fernandez-Sanguino und Christian Kastner
angepasst.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com>
erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
4th Berkeley Distribution 19 April 2010 CRON(8)