Cron-Job

Cron-Job

Der cron-Daemon ist eine Jobsteuerung von Unix bzw. Unix-artigen Betriebssystemen wie Linux, BSD oder Mac OS X, die wiederkehrende Aufgaben (cronjobs) automatisch zu einer bestimmten Zeit ausführen kann.

Häufig führt der Cron-Daemon wichtige Programme für die Instandhaltung des Systems aus, wie zum Beispiel Dienste für das regelmäßige Archivieren und Löschen von Logdateien.

crontab

Der Begriff selbst leitet sich ab von griechisch chronos = die Zeit und lat. tabula = die Tafel, oder das Brett und bedeutet demnach soviel wie "Stundenplan". Die auszuführenden Befehle werden in einer benutzereigenen Tabelle gespeichert, der sogenannten crontab. Diese Tabelle besteht aus sechs Spalten; die ersten fünf dienen der Zeitangabe (Minute, Stunde, Tag, Monat, Wochentag), alle weiteren Zeichen bis zum Zeilenumbruch werden als der auszuführende Befehl aufgefasst. Die einzelnen Spalten werden durch Leerzeichen oder Tabulatoren getrennt.

Beispiel einer Crontab:

#M    S   T M W    Befehl
5     *   * * *    /usr/bin/message.sh
*/5   *   * * *    /usr/bin/message.sh
59    23  * * 0    cp /var/log/messages /log/backup/messages
0     0   * * *    cp /var/log/syslog /log/backup/syslog
20,30 1   * * 1-5  /usr/bin/work.sh

Der erste Befehl (beginnend mit 5…) wird 5 Minuten nach jeder vollen Stunde, der zweite alle 5 Minuten (die Schrittweite wird durch */Schrittweite angegeben), der dritte einmal pro Woche sonntags um 23:59 Uhr, der vierte täglich um 00:00 Uhr und der fünfte montags bis freitags jeweils um 01:20 und 01:30 ausgeführt. Cron bietet noch mehr Funktionen, die bei den unten genannten Weblinks eingesehen werden können.

Die Struktur ist also wie folgt zu verstehen:

* * * * * auszuführender Befehl
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7) (Sonntag =0 oder =7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59)

In vielen Linux Distributionen findet man folgende Zeilen in der crontab:

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Die Cronjobs werden also auf spezielle Verzeichnisse, in denen die Scripte gespeichert sind, ausgelagert. Die Scripte in /etc/cron.hourly werden dann z. B. jede Stunde ausgeführt.

Ansonsten würde die Crontab u.U. sehr groß werden.

Alternativen

  • at führt Jobs (einmalig) zu einer bestimmten Uhrzeit aus.
  • anacron setzt keinen ständig laufenden Rechner voraus und prüft beim Einschalten, ob ein Job hätte ausgeführt werden müssen, und holt das mit eingestellter Verzögerung nach.
  • fcron enthält die Fähigkeiten von cron und anacron und weitergehende Optionen.
  • launchd ist der Cron-Ersatz bei Mac OS X/Darwin.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • cron-Job — Auftrag an cron zur Ausführung eines oder regelmässiger Kommandos zu einem festen Zeitpunkt …   Acronyms

  • cron-Job — Auftrag an cron zur Ausführung eines oder regelmässiger Kommandos zu einem festen Zeitpunkt …   Acronyms von A bis Z

  • Cron — is a time based scheduling service in Unix like computer operating systems. cron is short for chronograph . [ [http://drupal.org/node/937#cron Drupal Terminology Page] ] cron has been recreated several times in its history. Design cron is driven… …   Wikipedia

  • Cron — демон планировщик задач в UNIX подобных операционных системах, использующийся для периодического выполнения заданий в заданное время. Содержание 1 crontab 2 Графический интерфейс 2.1 Gnome Schedule …   Википедия

  • cron — For other uses, see CRON (disambiguation). Cron is a time based job scheduler in Unix like computer operating systems. Cron enables users to schedule jobs (commands or shell scripts) to run periodically at certain times or dates. It is commonly… …   Wikipedia

  • cron — Der cron Daemon ist eine Jobsteuerung von Unix bzw. unixartigen Betriebssystemen wie Linux, BSD oder Mac OS X, die wiederkehrende Aufgaben (cronjobs) automatisch zu einer bestimmten Zeit ausführen kann. Häufig führt der Cron Daemon wichtige… …   Deutsch Wikipedia

  • cron — Содержание 1 Замена текстового редактора для crontab 2 crontab …   Википедия

  • Cron — Der cron Daemon ist eine Jobsteuerung von Unix bzw. Unix artigen Betriebssystemen wie Linux, BSD oder Mac OS X, die wiederkehrende Aufgaben (cronjobs) automatisch zu einer bestimmten Zeit ausführen kann. Häufig führt der Cron Daemon wichtige… …   Deutsch Wikipedia

  • Cron Jobs — Der cron Daemon ist eine Jobsteuerung von Unix bzw. Unix artigen Betriebssystemen wie Linux, BSD oder Mac OS X, die wiederkehrende Aufgaben (cronjobs) automatisch zu einer bestimmten Zeit ausführen kann. Häufig führt der Cron Daemon wichtige… …   Deutsch Wikipedia

  • Job scheduler — This article is about a class of software. For the mathematical problem in Computer Science, see Job Shop Scheduling. For other uses, see Scheduling (disambiguation). A job scheduler is a software application that is in charge of unattended… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”