Notice: Undefined index: string in /var/www/stefan/howtux.de/htdocs/article.php on line 49

Notice: Undefined index: settings in /var/www/stefan/howtux.de/htdocs/article.php on line 61
Home / Tätigkeiten automatisieren / Die Crontab-Syntax

Die Crontab-Syntax

Kategorie: Tätigkeiten automatisierenErstellt: 02.10.2007 - 23:58 Geändert: 05.07.2013 - 12:59
Autor: Stefan Boeke
0

Die Crontab-Syntax


Eine Crontab ist eine Textdatei mit folgendem Aufbau: Fünf Spalten dienen der Zeitsteuerung und eine Spalte dient dem Adressieren des Programms oder des Skriptes, welches ausgeführt werden soll. Alle Angaben werden durch Leerzeichen oder Tabulatoren getrennt.
Beispiel:

# ntpdate
0 0 * * * /usr/sbin/ntpdate ntps1-0.cs.tu-berlin.de
Die ersten fünf Spalten der Crontab enthalten die Zeitangaben für Minuten, Stunden, Tage, Monate und Wochentage. Die Letzte Spalte enthält den Befehl der ausgeführt werden soll. Getrennt werden die Spalten durch Leerzeichen oder Tabulatoren.

Die Felder für die Zeitangaben:
Minuten 0...59 | * für jede Minute
Stunden 0...23 | * für jede Stunde
Tage 1...31 | * für jeden Tag
Monate 1...12 | * für jeden Monat
Wochentage 0...7 | * für jeden Wochentag ( 0 und 7 adressieren den Sonntag )

Beispiele:

# Jeden Tag um zehn Minuten nach Mitternacht:
10 0 * * * /pfad/zum/programm

# Jeden Mittwoch um zehn Minuten nach Mitternacht:
10 0 * * 3 /pfad/zum/programm

# Jeden Wochentag um zehn Minuten 13,14 und 15Uhr:
10 13-15 * * 1-5 /pfad/zum/programm

# Jedes Jahr zu Silvester:
0 0 31 12 * /usr/bin/mail.sh

Aliase:
@reboot Wird nach dem booten ausgeführt
@hourly Einmal in der Stunde ~ 0 * * * *
@daily Einmal am Tag ~ 0 0 * * *
@weekly Einmal in der Woche ~ 0 0 * * 0
@monthly Einmal im Monat ~ 0 0 1 * *
@yearly Einmal im Jahr ~ 0 0 1 1 *

Beispiel:

# Jeden Tag:
@daily /usr/sbin/ntpdate ntps1-0.cs.tu-berlin.de

Weitere Funktionen:
, Kommata für mehrere Zeitangaben
- Bindestrich für einen Zeitraum
/ Backslash für eine Periode

Beispiel:

# alle 15 Minuten zwischen 4 und 16 Uhr aber nur Samstags und Sonntags:
*/15 4-16 * * 6,7 /usr/sbin/ntpdate ntps1-0.cs.tu-berlin.de

Es sollten immer absolute Pfade für das Adressieren des Programms/Skripts angegeben werden.

crontab


Die Crontab-Dateien müssen immer mit dem Befehl crontab editiert werden. Dies liegt an der Architektur des cron-Dienstes. Beim Systemstart werden die Dateien von cron eingelesen und dieser merkt sich die Zeitpunkte jeder einzelnen Aktion. Sollte sich an der Zeit der letzten Veränderung der Datei /etc/crontab etwas geändert haben, schaut der cron-Dienst in allen cron-Verzeichnisse nach Änderungen. Das aktuallisieren der Zeit übernimmt hierbei das Programm crontab. Der cron-Dienst muss nach einer Änderung mit crontab -e nicht neu gestartet werden.

Optionen von crontab:
-l Listet alle Cronjobs auf
-e Öffnet einen Editor zum bearbeiten der Cronjobs, der hierfür benutzte Editor wird entweder über die Variable EDITOR oder VISUAL gesetzt
-r Löscht die crontab-Datei

Der cron-Dienst muss nach einer Änderung mittels crontab nicht neu gestartet werden.



Notice: Undefined variable: urli in /var/www/stefan/howtux.de/htdocs/classes.php on line 240
Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / Tätigkeiten automatisieren / Die Crontab-Syntax
simplum