Benutzer-Werkzeuge

Webseiten-Werkzeuge


it:linux:crontab

Inhaltsverzeichnis

Crontab

Kommando Beschreibung
crontab -e Crontab erstellen falls es noch nicht existiert. Ansonsten Crontab ändern.
crontab -l Crontab anzeigen.
crontab -r Crontab löschen.
crontab -v Anzeigen wann die Crontab zuletzt geändert wurde.

crontab Syntax

  *     *   *   *    *  command to be executed
  -     -    -    -    -
  |     |     |     |     |
  |     |     |     |     +----- day of week (1 - 7) (monday = 1)
  |     |     |     +------- month (1 - 12)
  |     |     +--------- day of month (1 - 31)
  |     +----------- hour (0 - 23)
  +------------- min (0 - 59)

Wenn man bei einem */5 schreibt, bedeutet das: jede(n) 5. 00 05 */5 * * bedeutet also: Jeden 5. Tag, um 05:00 Uhr, beginnend mit dem Monatsersten.
Ein Stern * bedeutet Ausführung wird immer erfolgen, also zu jeder Minute, jeder Stunde, jedem Tag, jedem Monat oder jedem Wochentag.
Um die einzelnen Stellen auseinander zu halten, hilft folgendes Diagram:

1 2 3 4 5 Befehl

1 = Minute (0-59)
2 = Stunde (0-23)
3 = Tag (0-31)
4 = Monat (1-12)
5 = Wochentag (0-7, Sonntag ist 0 oder 7)
Befehl = Der auszuführende Befehl.

Für die ersten fünf Stellen, also die Zeiwerte sind folgende Optionen zusätzlich möglich:

* = Ausführung immer (zu jeder…)
*/n = Ausführung aller n
n,x,y = Ausführung um/am n, x und y

Beispiele:
Um zum Beispiel jede Nacht um 5 Uhr morgens das Backup auszuführen, würde man den Cronjob folgendermaßen anlegen:

0 5 * * * /usr/bin/backup.sh

Einen Sound alle 10 Minuten Abzuspielen könnte wie folgt aussehen:

*/10 * * * * /usr/bin/play_sound.sh

Eine Erinnerungsmail um 8 und um 17 Uhr zu verschicken geht z.B. so:

0 8,17 * * * /usr/bin/send_reminder_mail.sh

Ausgabe der Cronjobs
Die Ausgabe der Cronjobs wird standardmässig per Mail an den jeweiligen System-User der den Cronjob eingerichtet hat gesendet. Um dies zu unterdrücken, könnte man die Ausgabe in eine Datei umleiten oder mit Umleitung zu /dev/null komplett verwerfen:
Cronjob-Ausgabe in Logfile umleiten

0 8,17 * * * /usr/bin/script.sh >>/var/log/cron/send_reminder_mail 2>&1

Cronjob-Ausgabe verwerfen

0 8,17 * * * /usr/bin/script.sh >/dev/null 2>&1

2>&1 bedeutet, das sowohl die normale Ausgabe als auch Fehler in die vorher angegebene Datei umgeleitet werden.
Cronjob-Dateien und Verzeichnisse
Zusätzlich zum crontab-Befehl gibt es je nach Distribution Dateien, die systemweite Crontabs beinhalten und nur durch den User root bearbeitet werden können:

/etc/crontab

Die System-Crontab-Datei, in der zusätzlich noch ein System-Benutzer, der den Befehl ausführen soll, mit angegeben werden muß:

Beispiel:

0 8,17 * * * root /usr/bin/script.sh >>/var/log/cron/send_reminder_mail 2>&1
0 3 * * * wwwrun /usr/bin/webjobs_nighly.sh >>/var/log/cron/send_reminder_mail 2>&1

/etc/cron* Verzeichnisse
Eine weitere Möglichkeit Cronjobs anzulegen sind die Verzeichnisse unter /etc/cron*, in denen alle enthaltenen Dateien zum bestimmten Zeitpunkt ausgeführt werden. Die Dateien im Einzelnen

/etc/cron.d/ = Erweiterungen zur /etc/crontab-Datei, gleiche Syntax.
/etc/cron.daily/ = Einmal irgendwann täglich.
/etc/cron.hourly/ = Einmal irgendwann stündlich.
/etc/cron.monthly/ = Einmal irgendwann monatlich.
/etc/cron.weekly/ = Einmal irgendwann wöchentlich.

Die letzten vier werden oft genutzt, wenn ein Job in einem bestimmten Interval erledigt werden muß, der genaue Zeitpunkt hierfür aber unerheblich ist.

Indem Sie auf "Akzeptieren" im Cookie-Banner auf der Website klicken, stimmen Sie der Verwendung von Cookies, einschließlich ähnlicher Technologien (wie Fingerprinting) sowie Website-Analyse-Tools (im Folgenden „Cookies“) im Einklang mit dieser Cookie-Richtlinie zu. Diese Wahl gilt dann bis zu Ihrem Widerruf (bspw. durch Löschen von Cookies) für diese Webseite und auch für andere Webpräsenzen der Marke dieser Webseite. Sind Sie nicht damit einverstanden, dass wir Cookies auf diese Weise verwenden, sollten Sie entsprechende Einstellungen an Ihrem Browser vornehmen. Die Cookies und Analysedaten werden gelöscht, wenn Sie im Cookie-Banner auf der Website auf "Ablehnen" klicken oder die Schaltfläche am Ende dieser Cookie-Richtlinie auf "Alle Unilever-Cookies ablehnen" setzen. Wenn Sie die Cookies, die wir verwenden, deaktivieren, kann dies Ihre Nutzungsmöglichkeiten auf den Unilever-Webseiten beeinträchtigen. Bestimmte Funktionalitäten auf der Website (z.B. Videos oder Online Buying) können Sie nur nutzen, wenn Cookies akzeptiert werden. Weitere Information
it/linux/crontab.txt · Zuletzt geändert: 2019/05/14 21:16 (Externe Bearbeitung)