Tag Archive: cronjob

Tabelle: Crontab mit Keywords

Cronjob

Eine Zusammenfassung der für Crontab verfügbaren Keywords in tabellarischer Form.

StringBeschreibung des ZeitpunktesAlternative Darstellung
@rebootBeim Hochfahrenn.v.
@yearlyJährlich am ersten Tag des Jahres um 0:00 Uhr0 0 1 1 *
@annuallyJährlich am ersten Tag des Jahres um 0:00 Uhr0 0 1 1 *
@monthlyMonatlich um 0:00 Uhr am ersten Tag des Monats0 0 1 * *
@weeklyWöchentlich um 0:00 Uhr am ersten Wochentag0 0 * * 0
@dailyTäglich um 0:00 Uhr0 0 * * *
@midnightTäglich um 0:00 Uhr0 0 * * *
@hourlyZu jeder vollen Stunde0 * * * *

Die Einrichtung entspricht der gewohnten Art.
So wird aus…

0 0 * * 0 /bin/false

…etwa:

@weekly /bin/false

„SHELL“ und „PATH“ für alle Cronjobs definieren

Ein kleiner Hinweis im Bezug auf einen weiteren Beitrag von heute.

Wer einige Scripts via Cronjob ausführt, wird wahrscheinlich – wie ich – die Shell sowie den „Path“ als Variable im Script selber definieren. Sollen aber Bash-spezifische Befehle in einer Zeile ausgeführt werden, bleibt „eigentlich“ kein Platz für das Definieren von Shell und „Path“.

Abhilfe verschafft man sich durch das definieren im Kopf der Cron-Datei. Wie gewohnt „crontab -e“ ausführen, um einen Cronjob anzulegen:

crontab -e

Ganz oben nun Folgendes ergänzen:

SHELL=/bin/bash
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

Unten wie gewohnt die Cronjobs eintragen. Ein Bespiel für einen Cronjob, der ohne obige Definition nicht funktionieren würde:

0 10 * * * /home/X/script.sh "`echo -e "Zeile eins\nZeile zwei"`"

Die gesamte Cron-Datei (z.B. „/var/spool/cron/crontabs/user“):

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.txt installed on Sat Dec 21 18:22:45 2013)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11
0 10 * * * /home/X/script.sh "`echo -e "Zeile eins\nZeile zwei"`"