crontab - Crontab-Dateien für einzelne Benutzer verwalten (Vixie Cron)
crontab [ -h]
crontab [ -u Benutzer ] [-n] Datei
crontab [ -u Benutzer ] [ -i ] { -e | -l | -r }
crontab ist das Programm, das zum Installieren, Deinstallieren oder
Auflisten der Tabellen verwendet wird, die den
cron(8)-Daemon in Vixie
Cron versorgen. Jeder Benutzer kann seine eigene Crontab haben. Obwohl diese
Dateien in /var/spool/cron/crontabs liegen, sollten sie nicht direkt
bearbeitet werden.
Falls die Datei
/etc/cron.allow existiert, dann müssen Sie darin
aufgeführt sein (ein Benutzer pro Zeile), um diesen Befehl
ausführen zu dürfen. Falls die Datei
/etc/cron.allow
nicht, die Datei
/etc/cron.deny dafür aber existiert, dann
dürfen Sie
nicht in der Datei
/etc/cron.deny
aufgeführt sein, um diesen Befehl verwenden zu dürfen.
Falls keine der Dateien existiert, dann ist es (abhängig von den
Site-spezifischen Konfigurationsparametern) entweder nur dem Superuser (Root)
oder allen Benutzern erlaubt, diesen Befehl zu verwenden.
Falls beide Dateien existieren, erhält
/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 irgendeiner dieser Dateien darf der
Systemadministrator (Root) immer eine Crontab einrichten. Auf
Debian-Standardsystemen dürfen alle Benutzer diesen Befehl verwenden.
Falls die Option
-h angegeben ist, zeigt
crontab eine Hilfemeldung
an und beendet sich unmittelbar.
Falls die Option
-u angegeben ist, bezeichnet sie den Namen des
Benutzers, dessen Crontab verwendet (beim Auflisten) oder geändert
(beim Bearbeiten) werden soll. Ist diese Option nicht angegeben, untersucht
crontab »Ihre« Crontab, das heißt, die Crontab der
Person, die den Befehl ausführt. Beachten Sie, dass
crontab von
su(8) durcheinander gebracht werden kann. Daher sollten Sie aus
Sicherheitsgründen stets die Option
-u angeben, wenn Sie ihn
innerhalb von
su(8) ausführen.
Die erste Form dieses Befehls wird zum Installieren einer neuen Crontab aus
einer benannten Datei oder aus der Standardeingabe verwendet, falls der
Pseudo-Dateiname »-« angegeben ist.
Falls die Option
-n angegeben ist, wird ein »Trockenlauf«
durchgeführt:
crontab untersucht die Syntax
»Ihrer« Crontab und gibt, wenn diese korrekt ist, eine
Erfolgsmeldung aus. Es wird jedoch nichts in irgendeine Crontab-Datei
geschrieben.
Mit der Option
-l wird die aktuelle Crontab in der Standardausgabe
angezeigt. Beachten Sie hierzu den nachfolgenden Hinweis unter
DEBIAN-SPEZIFISCH.
Mit der Option
-r wird die aktuelle Crontab entfernt.
Die Option
-e wird zum Bearbeiten der aktuellen Crontab mit dem in den
Umgebungsvariablen
VISUAL oder
EDITOR angegebenen Editor
verwendet. Nachdem Sie den Editor beendet haben, wird die geänderte
Crontab automatisch installiert. Falls keine der Umgebungsvariablen definiert
ist, wird der Standardeditor
/usr/bin/editor verwendet.
Die Option
-i ändert das Verhalten der Option
-r: Der
Benutzer wird um die Eingabe von »y/Y« gebeten, um die
Entfernung der Crontab zu bestätigen.
Das unmodifizierte Verhalten von
crontab -l ist die Anzeige der
dreizeiligen Kopfzeile »DO NOT EDIT THIS FILE«, die bei der
Installation einer Crontab an deren Anfang gesetzt wird. Das Problem ist, dass
es die Sequenz
crontab -l | crontab -
nicht-idempotent macht — Sie fügen immer Kopien der Kopfzeilen
hinzu. Dies ist bei Skripten problematisch, die
sed zum Bearbeiten
einer Crontab verwenden. Daher wurde das Standardverhalten der Option
-l so geändert, dass keine solchen Kopfzeilen ausgegeben werden.
Sie können das ursprüngliche Verhalten wieder aktivieren, indem
Sie die Umgebungsvariable
CRONTAB_NOHEADER auf »N«
setzen. Dadurch wird der Befehl
crontab -l veranlasst, die
überflüssige Kopfzeile auszugeben.
crontab(5),
cron(8)
/etc/cron.allow
/etc/cron.deny
/var/spool/cron/crontabs
Die Dateien
/etc/cron.allow und
/etc/cron.deny müssen,
sofern sie existieren, entweder für alle Benutzer oder für die
Gruppe »crontab« lesbar sein. Sollte das nicht der Fall sein,
verweigert
cron allen Benutzern den Zugriff, bis die Zugriffsrechte
entsprechend angepasst wurden.
Im Verzeichnis /var/spool/cron/crontabs gibt es für die Crontab jedes
Benutzers eine Datei. Benutzern ist es nicht erlaubt, die Dateien in diesem
Verzeichnis direkt zu bearbeiten. Damit soll sichergestellt werden, dass nur
Benutzer, denen dies vom System gestattet ist, periodisch wiederkehrende
Aufgaben hinzufügen können, und nur syntaktisch korrekte
Crontabs dort abgelegt werden. Das wird dadurch erzwungen, dass nur die Gruppe
crontab dort Schreibrechte hat und der Befehl
crontab mit dem
Setgid-Bit für diese spezifische Gruppe konfiguriert ist.
Der Befehl
crontab ist zu IEEE Std1003.2-1992 (»POSIX«)
konform. Diese neue Befehlssyntax unterscheidet sich sowohl von den
früheren Versionen von Vixie Cron als auch von der klassischen
SVR3-Syntax.
Eine hinreichend informative Meldung zur Benutzung wird angezeigt, wenn Sie es
mit einer fehlerhaften Befehlszeile aufrufen.
cron setzt voraus, dass jeder Eintrag in einer Crontab mit einem
Zeilenvorschubzeichen endet. Falls dem letzten Eintrag in einer Crontab der
Zeilenvorschub fehlt, betrachtet
cron die Crontab als (zumindest
teilweise) beschädigt und verweigert deren Installation.
Die Benennung der Dateien unter
/var/spool/cron/crontabs basiert auf dem
Namen des jeweiligen Benutzerkontos. Crontab-Aufträge für
Benutzer, deren Konten umbenannt wurden, werden nicht ausgeführt. Dies
kann entweder aufgrund von Änderungen im lokalen System oder weil sie
über eine zentrale Benutzerdatenbank (systemextern, zum Beispiel einen
LDAP-Verzeichnisdienst) verwaltet werden, geschehen sein.
Paul Vixie <
[email protected]> 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.
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario
Blättermann <
[email protected]> 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