Cron: Unterschied zwischen den Versionen

Aus MindLoot
Wechseln zu: Navigation, Suche
K (crontab: - durch ^ ersetzt)
K
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
 
== crontab ==
 
== 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 [[Tabulator]]en getrennt.
 
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 [[Tabulator]]en getrennt.
<pre>* * * * * /absoluter/pfad/zum/Kommando
+
* * * * * /absoluter/pfad/zum/Kommando
^ ^ ^ ^ ^
+
^ ^ ^ ^ ^
| | | | |
+
| | | | |
| | | | +-- Wochentag (0 - 6) (Sonntag = 0)
+
| | | | +-- Wochentag (0 - 7) (0 & 7 => Sonntag)
| | | +----- Monat (1 - 12)
+
| | | +----- Monat (1 - 12)
| | +-------- Tag des Monats (1 - 31)
+
| | +-------- Tag des Monats (1 - 31)
| +----------- Stunde (0 - 23)
+
| +----------- Stunde (0 - 23)
+-------------- Minute (0 - 59)</pre>
+
+-------------- Minute (0 - 59)
   
 
Beispiel einer ''Crontab'' unter [[Debian GNU/Linux]]:
 
Beispiel einer ''Crontab'' unter [[Debian GNU/Linux]]:
<pre>SHELL=/bin/sh
+
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  +
  +
#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
  +
#0 5 1-7 * 5 /usr/bin/backup.sh
  +
0 5 * * 5 [ "$(date +\%u)" -le "7" ] && /usr/bin/backup.sh
   
#M S T M W Befehl
 
 
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. Der letzte Eintrag illustriert das Problem, einen Backup-Job am ersten Freitag des Monats auszuführen und einen Workaround dafür (man beachte das per "\" escapte "%"). Cron bietet noch mehr Funktionen, die bei den unten genannten Weblinks eingesehen werden können.
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</pre>
 
 
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.
 
   
 
Häufig führt der Cron-Daemon wichtige Programme für die [[Instandhaltung]] des Systems aus, wie zum Beispiel Dienste für das regelmässige [[Elektronische Archivierung|Archivieren]] und Löschen von [[Logdatei]]en.
 
Häufig führt der Cron-Daemon wichtige Programme für die [[Instandhaltung]] des Systems aus, wie zum Beispiel Dienste für das regelmässige [[Elektronische Archivierung|Archivieren]] und Löschen von [[Logdatei]]en.
Zeile 41: Zeile 34:
 
* [http://www.kalab.com/freeware/cron/cron.htm Cron Daemon für Windows ohne Perl] (englisch)
 
* [http://www.kalab.com/freeware/cron/cron.htm Cron Daemon für Windows ohne Perl] (englisch)
   
[[Kategorie:Unix-Programm]]
+
[[Kategorie:Linux]]
[[Kategorie:Server]]
 
 
[[Kategorie:Freie Software]]
 
[[Kategorie:Freie Software]]

Aktuelle Version vom 30. August 2018, 15:18 Uhr

Der cron-Daemon ist eine Jobsteuerung von Unix bzw. Unix-artigen Betriebssystemen wie Linux oder Mac OS X, die wiederkehrende Aufgaben (cronjobs) zu einer bestimmten Zeit ausführen kann. Die auszuführenden Befehle werden in einer benutzereigenen Tabelle, der sogenannten crontab, gespeichert.

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.

*  *  *  *  *  /absoluter/pfad/zum/Kommando
^  ^  ^  ^  ^
|  |  |  |  |
|  |  |  |  +-- Wochentag (0 - 7) (0 & 7 => Sonntag)
|  |  |  +----- Monat (1 - 12)
|  |  +-------- Tag des Monats (1 - 31)
|  +----------- Stunde (0 - 23)
+-------------- Minute (0 - 59)

Beispiel einer Crontab unter Debian GNU/Linux:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

#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
#0    5 1-7 * 5    /usr/bin/backup.sh
0     5   * * 5    [ "$(date +\%u)" -le "7" ] && /usr/bin/backup.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. Der letzte Eintrag illustriert das Problem, einen Backup-Job am ersten Freitag des Monats auszuführen und einen Workaround dafür (man beachte das per "\" escapte "%"). Cron bietet noch mehr Funktionen, die bei den unten genannten Weblinks eingesehen werden können.

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

Alternativen

  • at führt Jobs (einmalig) zu einer bestimmten Uhrzeit aus
  • anacron setzt nicht einen ständig laufenden Rechner voraus sondern 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