BEZEICHNUNG
crontab - Crontab-Dateien für einzelne Benutzer verwalten (Vixie Cron)
ÜBERSICHT
crontab [ -u
Benutzer ] Datei
crontab [ -u Benutzer ] [ -i ] { -e | -l | -r }
BESCHREIBUNG
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 -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.
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.
DEBIAN-SPEZIFISCH
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.
SIEHE AUCH
DATEIEN
/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.
STANDARDS
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.
DIAGNOSE
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.
AUTOR
Paul Vixie <paul [AT] 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 [AT] 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 <debian-l10n-german [AT] lists.org>.