.\" -*- coding: UTF-8 -*- .\"/* Copyright 1988,1990,1993,1994 by Paul Vixie .\" * All rights reserved .\" */ .\" .\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") .\" Copyright (c) 1997,2000 by Internet Software Consortium, Inc. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT .\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: crontab.5,v 1.6 2004/01/23 19:03:33 vixie Exp $ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CRONTAB 5 "22. November 2012" cronie Dateiformate .SH BEZEICHNUNG crontab \- zur Planung der Ausführung von Programmen verwendete Dateien .SH BESCHREIBUNG Eine \fIcrontab\fP\-Datei enthält Anweisungen für den Daemon \fBcron\fP(8) in folgender, vereinfachter Weise: »führe diesen Befehl zu dieser Zeit an diesem Datum aus«. Jeder Benutzer kann seine eigene Crontab definieren. Befehle in diesen übergebenen Crontabs werden unter der Benutzerkennung des Eigentümers der jeweiligen Crontab ausgeführt. Uucp und News haben normalerweise ihre eigenen Crontabs, wodurch der explizite Aufruf von \fBsu\fP(1) als Teil des Cron\-Befehls vermieden wird. .PP Leere Zeilen, vorangestellte Leerzeichen und Tabulatoren werden ignoriert. Zeilen, deren erstes Zeichen (nach möglichem Leerraum) eine Raute (#) ist, sind Kommentare und werden nicht verarbeitet. Beachten Sie, dass Kommentare nicht auf den gleichen Zeilen wie Cron\-Befehle erlaubt sind, da sie als Teil des Befehls betrachtet werden. Entsprechend sind Kommentare nicht auf der gleichen Zeile wie Variablenzuweisungen der Umgebung erlaubt. .PP Eine aktive Zeile in einer Crontab ist entweder eine Umgebungseinstellung oder ein Cron\-Befehl. Eine Umgebungseinstellung hat die folgende Form: .PP Name = Wert .PP Dabei ist Leerraum um das Gleichheitszeichen (=) herum optional und jeder folgende und nicht am Anfang stehende Leerraum in \fIWert\fP wird als Teil des \fIName\fP zugewiesenen Wertes betrachtet. Der \fIWert\fP kann in einfache oder doppelte (aber zueinander passende) englische Anführungszeichen eingeschlossen werden, um führenden oder abschließenden Leerraum zu erhalten. .PP Eine Reihe von Umgebungsvariablen werden durch den \fBcron\fP(8)\-Daemon automatisch eingerichtet. \fISHELL\fP wird auf »/bin/sh« gesetzt und \fILOGNAME\fP und \fIHOME\fP werden aus der /etc/passwd\-Zeile des Eigentümers der Crontab gesetzt. \fIHOME\fP und \fISHELL\fP können durch Einstellungen in der Crontab außer Kraft gesetzt werden; für »LOGNAME« ist dies nicht möglich. .PP (Beachten Sie: Die Variable \fILOGNAME\fP wird auf BSD\-Systemen manchmal \fIUSER\fP genannt und wird automatisch eingerichtet). .PP Zusätzlich zu \fILOGNAME\fP, \fIHOME\fP und \fISHELL\fP prüft \fBcron\fP(8) auch die Variable \fIMAILTO\fP, falls eine E\-Mail als Ergebnis der Ausführung eines Befehls in einer bestimmten Crontab gesandt werden muss. Falls \fIMAILTO\fP definiert (und nicht leer) ist, werden E\-Mails an die angegebene Adresse gesandt. Falls \fIMAILTO\fP definiert, aber leer ist (\fIMAILTO=""\fP), wird keine E\-Mail gesandt. Diese Option ist nützlich, falls Sie »/bin/mail« anstatt von »/usr/lib/sendmail« als Ihr E\-Mail\-Versandprogramm verwenden. Beachten Sie, dass »/bin/mail« keine Aliase unterstützt und UUCP normalerweise seine E\-Mail nicht liest. Falls \fIMAILFROM\fP definiert (und nicht leer) ist, wird es als Umschlagsendeadresse verwandt, andernfalls wird »root« genutzt. .PP (Achtung: Sowohl \fIMAILFROM\fP als auch \fIMAILTO\fP werden expandiert, so dass das Setzen beider Variablen im folgenden Beispiel wie erwartet funktioniert: MAILFROM=cron\-$USER@cron.com ($USER wird durch den Systembenutzer ersetzt)). .PP Standardmäßig sendet Cron eine E\-Mail mit der Kopfzeile »Content\-Type:« auf »text/plain« mit dem Parameter »charset=« auf die »charmap/codeset« der Locale, in der \fBcrond\fP(8) gestartet wurde, gesetzt, d.h. entweder der Vorgabe\-System\-Locale, falls keine LC_*\-Umgebungsvariable gesetzt sind, oder der in den LC_+\-Umgebungsvariablen angegebenen Locale (siehe \fBlocale\fP(7)). Für das Versenden der Ausgabe von Cron\-Aufträgen können verschiedene Zeichenkodierungen durch Setzen der Variablen \fICONTENT_TYPE\fP und \fICONTENT_TRANSFER_ENCODING\fP in einer Crontab auf die korrekten Werte der E\-Mail\-Kopfzeilen gleichen Namens verwandt werden. .PP Die Variable \fICRON_TZ\fP legt die für die Cron\-Tabelle spezifische Zeitzone fest. Der Benutzer sollte in die Tabelle eine Uhrzeit entsprechend der angegebenen Zeitzone eintragen. Die für das Schreiben in eine Protokolldatei verwandte Zeit wird von der lokalen Zeitzone übernommen, in der der Daemon läuft. .PP Die Umgebungsvariable \fIMLS_LEVEL\fP stellt Unterstützung für mehrfache auftragsbezogene SELinux\-Sicherheitskontexte in der gleichen Crontab bereit. Standardmäßig werden Cron\-Aufträge in dem Vorgabe\-SELinux\-Kontext des Benutzers, der die Crontab\-Datei erstellte, ausgeführt. Werden mehrfache Sicherheitsstufen und \-rollen verwandt, mag dies nicht ausreichen, da der gleiche Benutzer sich in verschiedenen Rollen oder in verschiedenen Sicherheitsstufen befinden könnte. Für weitere Informationen über Rollen und SELinux\-MLS/MCS, siehe \fBselinux\fP(8) und das nachfolgend in diesem Text erwähnte Beispiel. Sie können die Variable \fIMLS_LEVEL\fP auf die SELinux\-Sicherheitskontextzeichenkette setzen, die den konkreten SELinux\-Sicherheitskontext angibt, in dem der Auftrag ausgeführt werden soll. \fBcrond\fP wird dann den Ausführungskontext der Aufträge setzen, die auf die Spezifikation des konkreten Sicherheitskontextes passen. Für weitere Informationen siehe die Option »\-s« von \fBcrontab\fP(1). .PP Die Variable \fIRANDOM_DELAY\fP ermöglicht das Verzögern des Startens von Aufträgen um eine zufällige Anzahl von Minuten, wobei die obere Grenze durch diese Variable festgelegt wird. Der zufällige Skalierungsfaktor wird durch den Cron\-Daemon beim Starten ermittelt, so dass er für die gesamte Laufzeit des Daemons konstant bleibt. .PP Das Format eines Cron\-Befehls ist dem V7\-Standard ähnlich, mit einer Reihe von vorwärtskompatiblen Erweiterungen. Jede Zeile hat fünf Zeit\-und\-Datum\-Felder, gefolgt von einem \fBBenutzer\fPnamen (falls dies die \fBsystem\fP\-Crontab\-Datei ist), und gefolgt von einem Befehl. Befehle werden durch \fBcron\fP(8) ausgeführt, wenn die Felder »Minute«, »Stunde« und »Monat des Jahres« mit der aktuellen Zeit übereinstimmen \fIund\fP mindestens eines der zwei »Tag«\-Felder (»Tag des Monats« oder »Tag der Woche«) mit der aktuellen Zeit übereinstimmt (siehe nachfolgenden »Hinweis«). .PP Beachten Sie, dass nicht existierende Zeiten, wie »fehlende Stunden« bei der Umstellung auf Sommer\-/Winterzeit, niemals übereinstimmen werden, wodurch Aufträge, die während dieser »fehlenden Zeiten« eingeplant waren, nicht ausgeführt werden. Auf ähnliche Weise werden Zeiten, die mehrfach existieren (wieder aufgrund der Sommer\-/Winterzeitumstellung) dazu führen, dass Aufträge zweimal ausgeführt werden. .PP \fBcron\fP(8) untersucht Cron\-Einträge einmal pro Minute. .PP Die Zeit\- und Datumsfelder sind: .IP .ta 1.5i Feld Zulässige Werte .br \-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\- .br Minute 0\-59 .br Stunde 0\-23 .br Tag des Monats 1\-31 .br Monat 1\-12 (oder Namen, siehe unten) .br Wochentag 0\-7 (0 oder 7 ist Sonntag, oder Namen verwenden) .br .PP Ein Feld kann einen Stern (*) enthalten, der immer für »erster\-letzter« steht. .PP Zahlenbereiche sind erlaubt. Bereiche sind zwei durch einen Bindestrich getrennte Zahlen. Der Bereich schließt die angegebenen Zahlen ein. Beispielsweise legt »8\-11« für einen »Stunden«\-Eintrag die Ausführung zu den Stunden 8, 9, 10 und 11 fest. Die erste Zahl muss kleiner oder gleich der zweiten sein. .PP Es ist möglich, den Ausführungszeitpunkt aus einem Bereich zufällig zu wählen. Eine Zufallszahl wird aus einem durch zwei durch eine Tilde getrennten Zahlen angegebenen Bereich ausgewählt. Der Bereich schließt dabei die beiden angegebenen Zahlen ein. Beispielsweise wählt »6~15« für einen »Minuten«\-Eintrag eine zufällige Zahl von 6 bis 15. Die Zufallszahl wird ausgewählt, wenn die Crontab ausgewertet wird. Die erste Zahl muss kleiner als oder gleich der zweiten Zahl sein. Sie können eine oder auch beide Zahlen weglassen, wenn Sie einen Bereich angeben. Beispielsweise wählt »~« für einen »Minuten«\-Eintrag eine zufällige Zahl von 0 bis 59. .PP Listen sind erlaubt. Eine Liste ist eine durch Kommata getrennte Gruppe von Zahlen (oder Bereichen). Beispiele: »1,2,5,9«, »0\-4,8\-12«. .PP Im Zusammenhang mit Bereichen können Schrittwerte verwandt werden. Folgt einem Bereich eine »/«, so legt dies die Schrittweite durch den Bereich fest. Beispielsweise kann »0\-23/2« im Feld »Stunden« verwandt werden, um festzulegen, dass der Befehl jede zweite Stunde ausgeführt werden soll (die Alternative im V7\-Standard ist »0,\:2,\:4,\:6,\:8,\:10,\:12,\:14,\:16,\:18,\:20,\:22«). Schrittwerte sind auch nach einem Stern erlaubt, so dass Sie für die Ausführung eines Befehls alle zwei Stunden auch »*/2« verwenden können. Bitte beachten Sie, dass Schritte innerhalb des Feldes ausgewertet werden, auf das sie angewendet werden. Im Stundenfeld bedeutet beispielsweise »*/23«, dass der Auftrag in der Stunde 0 und der Stunde 23 innerhalb eines Kalendertages ausgeführt wird. In »ANMERKUNGEN« wird beschrieben, wie Sie das umgehen können. .PP Für die Felder »Monat« und »Tag der Woche« können auch Namen verwandt werden. Verwenden Sie die ersten drei Buchstaben des konkreten englischen Namens des Tages oder Monats (Groß\-/Kleinschreibung ist egal). Bereiche und Liste von Namen sind erlaubt. Beispiele: »mon,wed,fri«, »jan\-mar«. .PP Falls die UID des Eigentümers 0 (root) ist, kann das erste Zeichen des Crontab\-Eintrags »\-« sein. Dies verhindert den Eintrag im Syslog für den ausgeführten Befehl. .PP Das »sechste« Feld (der Rest der Zeile) legt den auszuführenden Befehl fest. Der gesamte Befehlsanteil der Zeile bis zum Zeilenumbruch oder zum Zeichen »%« wird durch »/bin/sh« oder die durch die Variable SHELL in der Cron\-Datei festgelegte Shell ausgeführt. Ein »%«\-Zeichen im Befehl wird in einen Zeilenumbruch umgewandelt, außer es wird mit einem Rückwärtsschrägstrich (\e) geschützt, und sämtliche Daten nach dem ersten »%« werden dem Befehl als Standardeingabe übergeben. .PP Hinweis: Der Tag der Befehlsausführung kann in den folgenden zwei Feldern festgelegt werden: »Tag des Monats« und »Tag der Woche«. Falls beide Felder eingeschränkt sind (d.h. nicht das Zeichen »*« enthalten), wird der Befehl ausgeführt, wenn \fIeines der beiden\fP Felder auf die aktuelle Zeit passt. Beispielsweise würde .br "30 4 1,15 * 5" dazu führen, dass ein Befehl um 16:30 Uhr am 1. und am 15. jedes Monats sowie jeden Freitag ausgeführt wird. .PP Die Syntax einer Crontab\-Datei kann vor der Installation mit der Option \fB\-t\fP getestet werden. In \fBcrontab\fP(1) finden Sie Details hierzu. .SH "BEISPIEL FÜR EINE CRON\-DATEI" .nf # /bin/sh verwenden, um Befehle auszuführen, unabhängig davon, was /etc/passwd angibt SHELL=/bin/sh # sämtliche Ausgaben an »paul« schicken, unabhängig davon, wessen Crontab dies ist MAILTO=paul # CRON_TZ=Japan # jeden Tag fünf Minuten nach Mitternacht ausführen 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # um 14:15 Uhr am ersten Tag jedes Monats ausführen \-\- Ausgabe wird an Paul geschickt 15 14 1 * * $HOME/bin/monthly # Wochentags um 22 Uhr ausgeführt, Joe ärgern 0 22 * * 1\-5 mail \-s "Es ist 22 Uhr, " joe%Joe,%%Wo sind Deine Kinder?% 23 0\-23/2 * * * echo "ausgeführt 23 Minuten nach Mitternacht, 2 Uhr, 4 Uhr, …, jeden Tag" 5 4 * * sun echo "ausgeführt um 5 nach 4 Uhr jeden Sonntag" .fi .SH "Aufträge in /etc/cron.d/" Die in \fIcron.d\fP und \fI/etc/crontab\fP aufgeführten Aufträge sind Systemaufträge, die normalerweise für mehr als einen Benutzer verwandt werden und daher ein Benutzername benötigt wird. MAILTO in der ersten Zeile ist optional. .SH "BEISPIEL FÜR EINEN AUFTRAG IN /etc/cron.d/job" .nf #als root anmelden #Aufträge mit dem bevorzugten Editor (z.B. vim) erstellen MAILTO=root * * * * * root touch /tmp/file .fi .SH ANMERKUNGEN Wie oben angemerkt agieren Schrittwerte nur innerhalb des Zeitraums, zu dem sie gehören. Beispielsweise führt die Angabe von »0/35« im Minutenfeld eines Crontab\-Eintrags nicht dazu, dass der Eintrag alle 35 Minuten ausgeführt wird; er wird stattdessen zwei Mal pro Stunde, um 0 und 35 Minuten nach der Stunde, ausgeführt. Für eine granularere Steuerung können Sie etwas der folgenden Art angeben: .nf * * * * * if [ $(expr \( $(date +\%s) / 60 \) \% 58) = 0 ]; then echo dies wird alle 58 Minuten ausgeführt; fi 0 * * * * if [ $(expr \( $(date +\%s) / 3600 \) \% 23) = 0 ]; then echo dies wird alle 23 Stunden zur vollen Stunde ausgeführt; fi .fi Passen Sie dies nach Bedarf an, falls Ihr Befehl \fBdate\fP(1) nicht »+%s« als Formatzeichenkennzeichner zur Ausgabe des aktuellen UNIX\-Zeitstempels akzeptiert. .SH "SELinux mit mehrstufiger Sicherheit (MLS)" Es ist wichtig, dass in einer Crontab die Sicherheitsstufe mittels \fIcrontab \-s\fP oder durch Angabe der benötigten Stufe als erste Zeile in der Crontab festgelegt wird. Jede Stufe wird in \fI/etc/selinux/targeted/seusers\fP spezifiziert. Bei der Verwendung der Crontab im MLS\-Modus ist es besonders wichtig, dass: .br \- die tatsächliche Rolle geprüft/geändert wird, .br \- die korrekte \fIRolle für\fP das \fIVerzeichnis\fP gesetzt wird, das für die Ein\-/Ausgabe verwandt wird. .SH "BEISPIEL FÜR SELINUX\-MLS" .nf # als root anmelden newrole \-r sysadm_r mkdir /tmp/SystemHigh chcon \-l SystemHigh /tmp/SystemHigh crontab \-e # in Crontab\-Datei schreiben MLS_LEVEL=SystemHigh 0\-59 * * * * id \-Z > /tmp/SystemHigh/crontest .fi .SH DATEIEN \fI/etc/crontab\fP Haupt\-System\-Crontab\-Datei. \fI/var/spool/cron/\fP ein Verzeichnis zum Speichern von durch Benutzer definierten Crontabs. \fI/etc/cron.d/\fP ein Verzeichnis zum Speichern von System\-Crontabs. .SH "SIEHE AUCH" \fBcron\fP(8), \fBcrontab\fP(1) .SH ERWEITERUNGEN Es werden folgende, die Zeit festlegenden »Spitznamen« unterstützt, die die fünf anfänglichen Zeit\- und Datumsfelder ersetzen und denen das Zeichen »@« vorangestellt ist: .PP .nf @reboot : Einmalig nach dem Neustart ausgeführt. @yearly : Einmal jährlich ausgeführt, d.h. »0 0 1 1 *«. @annually : Einmal jährlich ausgeführt, d.h. »0 0 1 1 *«. @monthly : Einmal monatlich ausgeführt, d.h. »0 0 1 * *«. @weekly : Einmal wöchentlich ausgeführt, d.h. »0 0 * * 0«. @daily : Einmal täglich ausgeführt, d.h. »0 0 * * *«. @hourly : Einmal stündlich ausgeführt, d.h. »0 * * * *«. .fi .SH WARNUNGEN \fBcrontab\fP\-Dateien müssen normale Dateien oder Symlinks darauf sein, sie dürfen nicht ausführbar oder für jemanden anderes als den Eigentümer schreibbar sein. Diese Anforderung kann mit der Option \fB\-p\fP auf der Crond\-Befehlszeile außer Kraft gesetzt werden. Falls Inotify\-Unterstützung verwandt wird, werden Änderungen in den per Symlink eingebundenen Crontabs durch den Cron\-Daemon nicht automatisch bemerkt. Der Cron\-Daemon muss ein SIGHUP\-Signal empfangen, um die Crontabs neu zu laden. Dies ist eine Einschränkung des Inotify\-APIs. .PP Cron verlangt, dass jeder Eintrag in einer Crontab mit einem Zeilenumbruchzeichen endet. Falls dem letzten Eintrag ein Zeilenumbruch fehlt (d.h. sie mit EOF beendet ist), wird Cron die Crontab als (zumindestens teilweise) defekt betrachten. Es wird eine Warnung ins Systemprotokoll geschrieben. .SH AUTOR .MT vixie@isc.org Paul Vixie .ME .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann und Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .