Home · Kontakt · Impressum
contents index previous up next
Next: 13.2.3 Verwalten von cron-Jobs Up: 13.2 Regelmäßiges Ausführen von Previous: 13.2.1 Der Dämon cron

Unterabschnitte



13.2.2 crontab

Für das Anlegen von Cron-Jobs durch eine Cron-Tabelle steht der Befehl crontab zur Verfügung.
crontab [OPTIONEN] [MASTERDATEI]

Optionen
-e Erstellt oder bearbeitet die crontab-Datei des Benutzers
-l Zeigt die crontab-Datei des Benutzers an
-r Löscht die crontab-Datei des Benutzers
-u BENUTZER Legt fest, mit welcher crontab-Datei gearbeitet werden soll (nur Superuser)
 

Um crontab zu nutzen, müssen Sie zuerst eine Masterdatei im Format der oben schon gezeigten /etc/crontab anlegen. Den Namen können Sie frei wählen, er sollte aber nicht gerade mit crontab lauten. Dort tragen Sie für jeden Cron-Job eine Zeile mit sechs Feldern ein. Diese sechs Felder sind von links nach rechts: Minute, Stunde, Tag des Monats, Monat, Wochentag und Kommando. Die Werte für die Felder entnehme Sie bitte der Tabelle 13.1.


Tabelle 13.1: Erlaubte Werte für einen Crontab-Job
Feld Werte
Minute 0 - 59
Stunde 0 - 23
Tag des Monats 1 - 31
Monat 1 - 12 oder Namen
Wochentag 0 - 7 oder Namen (0 oder 7 ist Sonntag)


Zeilen in den Cron-Dateien, die mit einem Schweinegatter `#' beginnen, sind Kommentarzeilen und werden ignoriert. Außerdem werden leere Zeilen und führende Leerzeichen auch ignoriert. Ein Asterisk `*' in einem Feld repräsentiert jeden möglichen Wert (also vom ersten bis zum letzten) für das Feld.

Das crontab-Kommando speichert eine Kopie der Masterdatei unter dem Benutzernamen in dem Verzeichnis /usr/lib/crontab/tabs. Sie können auch direkt die Cron-Tabelle bearbeiten, in dem Sie den Befehl crontab -e benutzten. Dieser Befehl startet den Editor vi mit der aktuellen Cron-Tabelle und sorgt dann nach dem Beenden und Speichern für die Aktualisierung der Cron-Tabellen.

13.2.2.1 Beispiele

Um täglich festzuhalten, wer um 10 Uhr morgens eingeloggt ist, kann folgender Cronjob angelegt werden.
00 10 * * * who >> /var/log/benutzerliste.log

Bei einer Liste von Werten werden die Einzelwerte durch Kommata voneinander getrennt. Zeitbereich können auch mit einem Bindestrich `-' angegeben werden. So bedeutet `10-12' das Gleiche wie `10,11,12'. Ein Job, der jeden Dienstag und Donnerstag um 12 Uhr ausgeführt werden soll, kann dann so angegeben werden.

00 12 * * 2,4 myjob

Ein Job, der zu jeder Stunde von 6 bis 18 Uhr ausgeführt werden soll, sieht dann so aus.

00 6-18 * * * myjob

Soll ein Job innerhalb dieses Zeitraums nur jede zweite Stunde ausgeführt werden, dann kann man den Schrägstrich benutzen.

00 6-18/2 * * * myjob

Der folgende Befehl veranlaßt alle 5 Minuten einen Ping auf eine Internetadresse. Dies ist z. B. eine Möglichkeit eine Internetverbindung offen zu halten, wenn Sie sonst vom Provider nach 10 Minuten Inaktivität geschlossen werden würde.

*/5 * * * * ping -c 1 www.fibel.org &> /dev/null

Eine Besonderheit ist die Angabe des Tages. Hier stehen zwei Möglichkeiten zur Verfügung. Sie können den Tag des Monats und den Wochentag angeben. Werden beide Informationen angegeben, dann wird der Job zu dem Zeitpunkt ausgeführt wenn mindestens eine von den Angaben zutrifft. Der folgende Befehl wird also nicht nur am Freitag, den 13. ausgeführt, sondern er wird an jedem 13. Tag des Monats und an jedem Freitag ausgeführt.

00 12 13 * 5 freitag_der_13.sh


contents index previous up next
Next: 13.2.3 Verwalten von cron-Jobs Up: 13.2 Regelmäßiges Ausführen von Previous: 13.2.1 Der Dämon cron
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang