Handbücher für die Kommandozeile

Man » crontab Manual online - detaillierte Online-Dokumentation für die crontab-Manpage

🌍
crontab - verwaltet Crontab-Dateien für einzelne Benutzer (Vixie Cron)

SYNOPSIS

crontab [-h]

crontab [-u user] [-n] file

crontab [-u user] [-i] {-e | -l | -r}

DESCRIPTION

crontab ist das Programm, mit dem die Tabellen installiert, deinstalliert oder aufgelistet werden, die den cron(8)-Daemon in Vixie Cron steuern. Jeder Benutzer kann seine eigene Crontab haben, und obwohl diese Dateien in /var/spool/cron/crontabs gespeichert sind, sind sie nicht für die direkte Bearbeitung vorgesehen.

Wenn die Datei /etc/cron.allow existiert, müssen Sie dort (in einer Zeile pro Benutzer) aufgeführt sein, um diesen Befehl verwenden zu dürfen. Wenn die Datei /etc/cron.allow nicht existiert, aber die Datei /etc/cron.deny existiert, dürfen Sie nicht in der Datei /etc/cron.deny aufgeführt sein, um diesen Befehl verwenden zu dürfen.

Bitte überprüfen Sie, ob die Berechtigungen der Datei /etc/cron.allow es den Benutzern, die ihn verwenden dürfen, ermöglichen, die Datei zu lesen. Beispielsweise sollten die Berechtigungen rw- r-- r-- (oktal 644) in Ordnung sein.

Wenn keine dieser Dateien existiert, dürfen je nach standortspezifischen Konfigurationsparametern nur der Superuser diesen Befehl verwenden, oder alle Benutzer dürfen ihn verwenden.

Wenn beide Dateien existieren, hat /etc/cron.allow Vorrang. Das bedeutet, dass /etc/cron.deny nicht berücksichtigt wird und Ihr Benutzer in /etc/cron.allow aufgeführt sein muss, um crontab verwenden zu können.

Unabhängig von der Existenz dieser Dateien darf der Root-Administrator immer eine Crontab einrichten. Für Standard-Debian-Systeme dürfen alle Benutzer diesen Befehl verwenden.

Wenn die Option -h angegeben wird, zeigt crontab eine Hilfemeldung an und beendet sich sofort.

Wenn die Option -u angegeben wird, wird der Name des Benutzers angegeben, dessen Crontab verwendet (beim Auflisten) oder geändert werden soll (beim Bearbeiten). Wenn diese Option nicht angegeben wird, untersucht crontab die Crontab-Datei "Ihres" Benutzers, d. h. die Crontab-Datei der Person, die den Befehl ausführt. Beachten Sie, dass su(8) crontab verwirren kann und dass Sie, wenn Sie innerhalb von su(8) arbeiten, immer die Option -u aus Sicherheitsgründen verwenden sollten.

Die erste Form dieses Befehls wird verwendet, um eine neue Crontab aus einer bestimmten Datei oder der Standardeingabe zu installieren, wenn der Pseudo-Dateiname "-" angegeben wird.

Wenn die Option -n angegeben wird, bedeutet dies "Testlauf": crontab untersucht die Syntax Ihrer Crontab und gibt eine Erfolgsmeldung aus, wenn die Syntax korrekt ist, aber es wird nichts in eine Crontab geschrieben.

Die Option -l bewirkt, dass die aktuelle Crontab auf der Standardausgabe angezeigt wird. Siehe den Hinweis im Abschnitt „DEBIAN-SPEZIFISCH“ unten.

Die Option -r bewirkt, dass die aktuelle Crontab entfernt wird.

Die Option -e wird verwendet, um die aktuelle Crontab mit sensible-editor(1) zu bearbeiten. Nachdem Sie den Editor verlassen haben, wird die geänderte Crontab automatisch installiert.

Die Option -i modifiziert die Option -r, so dass der Benutzer vor dem eigentlichen Entfernen der Crontab aufgefordert wird, mit 'j/J' zu antworten.

DEBIAN-SPEZIFISCH

Das Standardverhalten von crontab -l ist die Anzeige des dreizeiligen Headers "DO NOT EDIT THIS FILE", der am Anfang der Crontab platziert wird, wenn sie installiert wird. Das Problem ist, dass dies die Sequenz

crontab -l | crontab nicht-idempotent macht – Sie fügen immer wieder Kopien des Headers hinzu. Dies verursacht Probleme für Skripte, die sed verwenden, um eine Crontab zu bearbeiten. Daher wurde das Standardverhalten der Option -l so geändert, dass dieser Header nicht ausgegeben wird. Sie können das ursprüngliche Verhalten erhalten, indem Sie die Umgebungsvariable CRONTAB_NOHEADER auf 'N' setzen, wodurch der Befehl crontab -l den zusätzlichen Header ausgibt.

AUSGABE VON CRONTAB -L HERAUSSTELLEN

Der Befehl crontab -l gibt einfachen Text aus. Wenn ein Terminal ANSI-Sequenzen zur Farbgestaltung dieses Textes unterstützt, kann die Ausgabe hervorgehoben werden, indem man Folgendes aufruft: crontab -l | spc -t crontab, wenn der Terminalhintergrund dunkel ist, oder crontab -l | spc -t crontab-light, wenn dieser Hintergrund hell ist.

Das Hervorhebungsschema kann durch die Verwendung angepasster Versionen der Dateien /etc/supercat/spcrc-crontab* geändert werden.

Man kann diesen Text auch mit dem Programm batcat(1) aus dem Paket bat farbig gestalten, hier ist ein Beispiel:

crontab -l | batcat --language Crontab

SIEHE AUCH

crontab(5), cron(8), spc(1)

DATEIEN

/etc/cron.allow, /etc/cron.deny Die Dateien /etc/cron.allow und /etc/cron.deny müssen, falls sie existieren, entweder für alle lesbar oder für die Gruppe ``crontab'' lesbar sein. Wenn dies nicht der Fall ist, wird cron(8) den Zugriff für alle Benutzer verweigern, bis die Berechtigungen korrigiert sind.

/var/spool/cron/crontabs Es gibt eine Datei für die Crontab jedes Benutzers unter dem Verzeichnis /var/spool/cron/crontabs. Benutzer dürfen die Dateien in diesem Verzeichnis nicht direkt bearbeiten, um sicherzustellen, dass nur Benutzer, die vom System dazu autorisiert sind, periodische Aufgaben auszuführen, diese hinzufügen können und nur syntaktisch korrekte Crontabs dort geschrieben werden. Dies wird dadurch erzwungen, dass das Verzeichnis nur für die Gruppe ``crontab'' beschreibbar ist und der Befehl crontab mit dem Setgid-Bit für diese spezielle Gruppe konfiguriert ist.

STANDARDS

Der Befehl crontab entspricht IEEE Std1003.2-1992 ("POSIX"). Diese neue Befehlssyntax unterscheidet sich von früheren Versionen von Vixie Cron sowie von der klassischen SVR3-Syntax.

DIAGNOSTIK

Eine ziemlich informative Hilfenachricht wird angezeigt, wenn Sie ihn mit einer fehlerhaften Befehlszeile ausführen.

cron(8) erfordert, dass jeder Eintrag in einer Crontab mit einem Zeilenumbruchzeichen endet. Wenn dem letzten Eintrag in einer Crontab der Zeilenumbruch fehlt, wird cron(8) die Crontab (zumindest teilweise) als fehlerhaft betrachten und die Installation verweigern.

Die Dateien unter /var/spool/cron/crontabs werden anhand des Benutzernamens des Kontos benannt. Crontab-Jobs werden nicht für Benutzer ausgeführt, deren Konten entweder aufgrund von Änderungen im lokalen System oder weil sie über eine zentrale Benutzerdatenbank (extern zum System, z. B. ein LDAP-Verzeichnis) verwaltet werden, umbenannt wurden.


AUTOREN

Paul Vixie <_> Hat diese Manpage geschrieben (1994).

Steve Greenland <_> Hat das Paket gewartet (1996-2005).

Javier Fernández-Sanguino Peña <_> Hat das Paket gewartet (2005-2014).

Christian Kastner <_> Hat das Paket gewartet (2010-2016).

Georges Khaznadar <_> Hat das Paket gewartet (2022-2024).

URHEBERRECHT

Copyright © 1994 Paul Vixie

Freie Verbreitung, mit Ausnahme: Entfernen Sie nicht meinen Namen aus dem Quellcode oder der Dokumentation (beanspruchen Sie nicht meine Arbeit), kennzeichnen Sie Ihre Änderungen (beschuldigen Sie mich nicht für Ihre möglichen Fehler), ändern oder entfernen Sie diesen Hinweis nicht. Darf verkauft werden, wenn der Käufer den kompilierbaren Quellcode erhält. Es wird keine Garantie jeglicher Art, weder ausdrücklich noch stillschweigend, mit dieser Software geliefert; die Verwendung erfolgt auf eigenes Risiko. Die Verantwortung für Schäden (falls vorhanden), die durch die Verwendung dieser Software entstehen, liegt ausschließlich beim Benutzer.

Seit 1994 wurden viele Änderungen an dieser Manpage vorgenommen, die von Debian-Entwicklern vorgenommen wurden, die cron(TM) gewartet haben; oben ist eine kurze Liste, weitere Informationen finden Sie in der Datei /usr/share/doc/cron/copyright.