Wie richte ich einen Cron-Job ein?

Artikel download cron_job.zip (8 kb)

 

Cron-Jobs können Ihnen dabei helfen, bestimmte Vorgänge wie z.B. Backups auf Ihrem Linux-Server zu automatisieren. Dieser Artikel ist eine Kurzanleitung zur Erstellung einer Cron-Datei, welche festlegt, zu welchen Zeiten ein Programm oder Skript ausgeführt werden soll. Weitere Informationen finden Sie im Manual von crontab, Sektion 5 (man 5 crontab).
 

cron job einrichten:


Starten Sie den Befehl crontab -e zum Erstellen oder Editieren Ihrer Cron-Datei, crontab -l zum auflisten der Cron-Jobs oder crontab -r zum löschen der Cron-Jobs.



Eine Zeile in einer Cron-Datei sieht so aus:
 

1 2 3 4 5    /etc/meinSkript argumente

 

die fünf Zahlen am Anfang der Zeile repräsentieren folgendes:
 

1: Minuten (0-59)
2: Stunden (0-23)
3: Tag     (1-31)
4: Monat   (1-12 oder January, February, March, ...)
5: Wochentag(0-7 oder Monday, Tuesday, Wednesday, ... 0 und 7=Sunday)


Damit können Sie festlegen, zu welchen Zeiten das angegebene Skript gestartet werden soll. Damit jedoch nicht genug, Sie können die Zeiten noch etwas strukturierter angeben und zwar wie folgt::
 

*:         trifft immer zu
1-4:       Bereich, trifft zu wenn 1, 2, 3 oder 4 zutrifft
1-4/2:     Schrittweise, also 1 und 3
1,5,6:     Aufzählung
*/3:       jedes dritte
1-4,10-15: Aufzählung und Bereiche kombiniert

 

Außer dem können Sie in der Datei festlegen, mit welcher SHELL die Skripte ausgeführt werden sollen, und wem eine E-Mail mit dem Ergebnis zugesandt werden soll:


SHELL=/bin/bash
MAILTO=mir@localhost

 

So, nun noch ein paar Beispiele:
 

# jeden Tag um 0:05
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# am ersten jeden Monats um 14:15
15 14 1 * *     $HOME/bin/monthly
# um 22:00 wochentags
0 22 * * 1-5   mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
# jeden Tag 23 Minuten nach jeder geraden Stunde (0:23, 2:23, ...)
23 0-23/2 * * * $HOME/status.sh
# Sonntags um 4:05
5 4 * * sun     $HOME/backup.sh full

Hinweis:
Wochentage und Kalendertage schliessen sich nicht aus, sondern werden getrennt betrachtet. Trifft also eines der beiden zu, wird das Skript ausgeführt.