CRONTAB(1) Dienstprogramme für Benutzer CRONTAB(1)

crontab - Crontab-Dateien für einzelne Benutzer verwalten

ÜBERSICHT

crontab [-u Benutzer] <Datei | ->
crontab [-T] <Datei | ->
crontab [-u Benutzer] <-l | -r | -e> [-i] [-s]
crontab -n [ Rechnername ]
crontab -c
crontab -V

crontab ist das Programm, das zum Installieren oder Entfernen einer Crontab-Datei (nachfolgend »Crontab« genannt) oder zum Auflisten der darin enthaltenen Einträge für den cron(8)-Daemon verwendet wird. Jeder Benutzer kann seine eigene Crontab-Datei haben. Obwohl sich diese Dateien in /var/spool/ befinden, sind sie nicht für die direkte Bearbeitung vorgesehen. Für SELinuy im MLS-Modus können Sie weitere Crontabs für jeden Bereich definieren. Weitere Informationen finden Sie in selinux(8).

In dieser Version von cron ist es möglich, ein über das Netzwerk eingehängtes /var/spool/cron über einen Rechner-Cluster zu verwenden und anzugeben, dass niemals mehrere Rechner gleichzeitig die Crontab-Aufträge in diesem Verzeichnis ausführen sollen. Sie können auch crontab von jedem dieser Rechner aus verwenden, um die gleiche Gruppe gemeinsam genutzter Crontab-Dateien zu bearbeiten und festzulegen und abzufragen, welcher Rechner die Cron-Aufträge ausführen soll.

Die Planung von Cron-Aufträgen kann mit crontab für verschiedene Benutzer erlaubt oder verboten werden. Für diesen Zweck verwenden Sie die Dateien cron.allow und cron.deny. Falls die Datei cron.allow existiert, muss ein Benutzer darin aufgeführt sein, um crontab benutzen zu können. Falls die Datei cron.allow nicht, aber dafür die Datei cron.deny existiert, dann darf ein Benutzer nicht in ihr aufgelistet sein, um crontab verwenden zu können. Falls keine der Dateien existiert, darf nur der Superuser (Root) crontab verwenden.

Eine weitere Möglichkeit, die Planung von Cron-Aufträgen außerhalb von crontab einzuschränken, ist die PAM-Authentifizierung in /etc/security/access.conf, mit der Benutzern erlaubt oder verweigert werden kann, crontab zu verwenden oder Cron-Aufträge im Verzeichnis /etc/cron.d/ zu verändern.

Das temporäre Verzeichnis kann in einer Umgebungsvariable festgelegt werden. Falls vom Benutzer nichts festgelegt wird, dann wird das Verzeichnis /tmp verwendet.

Beim Anzeigen einer Crontab im Terminal wird die Ausgabe farbig dargestellt, es sei denn, die Umgebungsvariable NO_COLOR ist gesetzt.

Beim Bearbeiten oder Löschen der Crontab wird eine Sicherungskopie der letzten Crontab unter $XDG_CACHE_HOME/crontab/crontab.bak oder $XDG_CACHE_HOME/crontab/crontab.<Benutzer>.bak, falls -u verwendet wird, erstellt. Falls die Umgebungsvariable XDG_CACHE_HOME nicht gesetzt ist, wird stattdessen $HOME/.cache verwendet.

gibt den Namen des Benutzers an, dessen Crontab geändert werden soll. Falls diese Option nicht verwendet wird, untersucht crontab »Ihre« Crontab, das heißt, die Crontab der Person, die den Befehl ausführt. Falls für einen bestimmten Benutzer keine Crontab existiert, wird für ihn beim ersten Aufruf des Befehls crontab -u eine Crontab unter seinem Benutzernamen angelegt.
testet die Crontab-Datei, ohne sie zu installieren. Wenn ein Fehler gefunden wird, dann wird die Überprüfung abgebrochen, so dass dadurch nicht alle vorhandenen Fehler bei jeder Ausführung zurückgegeben werden.
zeigt die aktuelle Crontab in der Standardausgabe an.
entfernt die aktuelle Crontab.
bearbeitet mit dem in den Umgebungsvariablen VISUAL oder EDITOR angegebenen Editor die aktuelle Crontab. Nachdem Sie den Editor beendet haben, wird die geänderte Crontab automatisch installiert.
ändert das Verhalten der Option -r: Der Benutzer wird um die Eingabe von »y/Y« gebeten, um die Entfernung der Crontab zu bestätigen.
hängt vor dem Bearbeiten oder Ersetzen die aktuelle SELinux-Sicherheitskontext-Zeichenkette als MLS_LEVEL-Einstellung an die Crontab-Datei an - siehe die Dokumentation zu MLS_LEVEL in crontab(5).
Diese Option ist nur relevant, falls cron(8) mit der Option -c gestartet wurde, um Clustering-Unterstützung zu aktivieren. Sie wird verwendet, um den Rechner im Cluster anzugeben, welcher die Aufträge der im Verzeichnis /var/spool/cron angegebenen Crontab-Dateien ausführen soll. Falls ein Rechnername übergeben wird, wird der von gethostname(2) zurückgelieferte Rechnername, der dem übergebenen Rechnernamen entspricht, zum fortlaufenden Ausführen der ausgewählten Cron-Aufträge ausgewählt. Falls es im Cluster keinen Rechner mit dem übergebenen Namen gibt oder Sie explizit einen leeren Namen angegeben haben, dann werden die ausgewählten Aufträge überhaupt nicht ausgeführt. Falls der Rechnername weggelassen wird, dann wird der von gethostname(2) zurückgelieferte Rechnername verwendet. Die Verwendung dieser Option wirkt sich nicht auf die Datei /etc/crontab und die Dateien im Verzeichnis /etc/cron.d aus. Diese werden immer ausgeführt und als rechnerspezifisch angesehen. Weitere Informationen zur Clustering-Unterstützung finden Sie in cron(8).
Diese Option ist nur relevant, falls cron(8) mit der Option -c gestartet wurde, um Clustering-Unterstützung zu aktivieren. Sie wird verwendet, um abzufragen, welcher Rechner im Cluster aktuell dafür zuständig ist, die Crontab-Dateien in /var/spool/cron auszuführen, wie mit der Option -n angegeben.
zeigt die Versionsnummer an und beendet das Programm.

Die Dateien cron.allow und cron.deny können nicht dazu verwendet werden, um die Ausführung von Cron-Aufträgen einzuschränken; sie schränken lediglich die Nutzung von crontab ein. Insbesondere wirkt sich die Beschränkung des Zugriffs auf crontab nicht auf eine vorhandene Crontab eines Benutzers aus. Deren Aufträge werden weiterhin ausgeführt, bis die Crontab entfernt wird.

Für den Benutzer, der crontab aufruft, müssen die Dateien cron.allow und cron.deny lesbar sein. Sollte das nicht der Fall sein, dann werden diese Dateien als nicht vorhanden aufgefasst.

crontab(5), cron(8)

/etc/cron.allow
/etc/cron.deny

Der Befehl crontab ist zu IEEE Std1003.2-1992 (»POSIX«) konform, jedoch mit einer Ausnahme: Zum Ersetzen der aktuellen Crontab durch Daten aus der Standardeingabe muss in der Befehlszeile die Option - übergeben werden, falls die Standardeingabe ein Terminal ist. Diese neue Befehlssyntax unterscheidet sich sowohl von den früheren Versionen von Vixie Cron als auch von der klassischen SVR3-Syntax.

Eine informative Meldung zur Benutzung wird angezeigt, wenn Sie eine Crontab aufrufen, in der ein fehlerhafter Befehl definiert ist.

Paul Vixie
Colin Dean

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> und Helge Kreutzmann <debian@helgefjell.de> 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.

29. Oktober 2019 cronie