Cron: Unterschied zwischen den Versionen

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen
Die Seite wurde neu angelegt: „{{DISPLAYTITLE:cron}} {{Begriffsklärungshinweis}} Der '''cron'''-Daemon ist eine Jobsteuerung von Unix bzw. unixartigen [[Betriebss…“
 
 
(24 dazwischenliegende Versionen derselben Benutzerin werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:cron}}
<div style="margin: 0; margin-top:10px; margin-right:10px; border: 1px solid #333333; padding: 0em 1em 1em 1em; background-color:#1B1C2D; align:right;">
{{Begriffsklärungshinweis}}
<br><center>[[Datei:ZD-Logo.png]]</center>
<center><big><span style="color:#B5B5B5;">'''''Das Board mit Freiheiten'''''</span></big></center>
<font color=white></font>
----
<br>
<div style="margin: 0px 20px 15pt 15pt; border: 2px solid rgb(223, 223, 223); padding: 0em 1em 1em; background-color:#303140; border: 1px solid #000000;">
<br/>
{{Navi-Freetz-Sektion}}


Der '''cron'''-[[Daemon]] ist eine Jobsteuerung von [[Unix]] bzw. [[unixoides System|unixartigen]] [[Betriebssystem]]en wie [[Linux]], [[Berkeley Software Distribution|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 [[Computerprogramm|Programme]] für die [[Instandhaltung]] des Systems aus, wie zum Beispiel Dienste für das regelmäßige [[Elektronische Archivierung|Archivieren]] und Löschen von [[Logdatei]]en.
Der '''cron'''-Daemon ist eine Jobsteuerung von Unix bzw. unixartigen Betriebssystemen wie Linux, Berkeley Software Distribution 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 ==
== 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 [[Befehl]]e werden in einer [[Benutzerkonto|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 [[Tabulator]]en getrennt.
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 Benutzerkonto|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'':
Beispiel einer ''Crontab'':
Zeile 15: Zeile 23:
  5    *  * * *    /usr/bin/message.sh  //Der erste Befehl (beginnend mit <tt>5…</tt>) wird fünf Minuten nach jeder vollen Stunde
  5    *  * * *    /usr/bin/message.sh  //Der erste Befehl (beginnend mit <tt>5…</tt>) wird fünf Minuten nach jeder vollen Stunde
  */5  *  * * *    /usr/bin/message.sh  //der zweite alle 5 Minuten (die Schrittweite wird durch <tt>*/Schrittweite</tt> angegeben)
  */5  *  * * *    /usr/bin/message.sh  //der zweite alle 5 Minuten (die Schrittweite wird durch <tt>*/Schrittweite</tt> angegeben)
  59    23  * * 0    cp /var/log/messages  //der dritte einmal pro Woche [[Sonntag|sonntags]] um 23:59 Uhr
  59    23  * * 0    cp /var/log/messages  //der dritte einmal pro Woche Sonntag um 23:59 Uhr
  0    0  * * *    cp /var/log/syslog    //der vierte täglich um 00:00 Uhr
  0    0  * * *    cp /var/log/syslog    //der vierte täglich um 00:00 Uhr
  20,30 1  * * 1-5  /usr/bin/work.sh      //und der fünfte [[Montag|montags]] bis [[Freitag|freitags]] jeweils um 01:20 und 01:30 ausgeführt
  20,30 1  * * 1-5  /usr/bin/work.sh      //und der fünfte Montag bis Freitag jeweils um 01:20 und 01:30 ausgeführt


Cron bietet noch mehr Funktionen, die bei den unten genannten Weblinks eingesehen werden können.
Cron bietet noch mehr Funktionen, die bei den unten genannten Weblinks eingesehen werden können.
Zeile 31: Zeile 39:
  │ └────────── Stunde (0-23)
  │ └────────── Stunde (0-23)
  └──────────── Minute (0-59)
  └──────────── Minute (0-59)
Die Crontabs haben folgende Form.
Minute Stunde Tag Monat Wochentag Befehl
Mögliche Werte sind die folgenden.
Minute         Werte von 0 bis 59 oder "*"
Stunde        Werte von 0 bis 23 oder "*"
Tag         Werte von 1 bis 31 oder "*"
Monat         Werte von 1 bis 12, "Jan" bis "Dec", "jan" bis "dec", oder "*"
Wochentag Werte von 0 bis 7 (sowohl 0 wie 7 stehen für den Sonntag), "Sun" bis "Sat", "sun" bis "sat", oder "*"
Befehl         Der auszuführende Befehl mit Optionen oder ein aufzurufendes Skript
Beispiele
Anzeige von Datum und Uhrzeit auf der Konsole an jedem Tag des Monats stündlich zwischen 9 und 18 Uhr.
0 9-18 * * * date > /dev/console
Anzeige von Datum und Uhrzeit auf der Konsole jeweils Montags und Freitag zu jeder Stunde.
0 * * * 2,5 date > /dev/console
Anzeige von Datum und Uhrzeit auf der Konsole zu jeder geraden zweiten Stunde.
0 */2 * * * date > /dev/console
Anzeige von Datum und Uhrzeit auf der Konsole zu jeder zweiten Stunde zwischen 1 und 6 Uhr (hier also wie "1,3,5").
0 1-6/2 * * * date > /dev/console
Rebooten bzw Neu starten täglich um 5.30 Uhr
30 5 * * 1-7 /sbin/reboot


In vielen Linux-Distributionen findet man folgende Zeilen in der crontab:
In vielen Linux-Distributionen findet man folgende Zeilen in der crontab:
Zeile 44: Zeile 91:


Ansonsten würde die Crontab unter Umständen sehr groß werden.
Ansonsten würde die Crontab unter Umständen sehr groß werden.
Quellen: Wikipedia


== Alternativen ==
== Alternativen ==
<!-- Bitte keine Weblinks zu kostenlosen, webbasierten Cron-Services einfügen! Siehe dazu auch die Diskussionsseite. -->
 
* [[at (Unix)|at]] führt Jobs (einmalig) zu einer bestimmten Uhrzeit aus.
* [[at (Unix)|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.
* [[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.
* fcron enthält die Fähigkeiten von cron und anacron und weitergehende Optionen.
* [[launchd]] ist der Cron-Ersatz bei [[Mac OS X]]/[[Darwin (Betriebssystem)|Darwin]].
* launchd ist der Cron-Ersatz bei Mac OS X/Darwin.
* [[Quartz (Framework)|Quartz]] ist ein Job Scheduling Framework für [[Java (Programmiersprache)|Java]]
* Quartz ist ein Job Scheduling Framework für Java


== Weblinks ==
==Quellenangaben==
{{Wikibooks|Linux-Kompendium: crontab}}
http://de.wikipedia.org/wiki/Cron
* {{man|8|cron}}
 
<!-- Bitte keine Weblinks zu kostenlosen, webbasierten Cron-Services einfügen! Siehe dazu auch die Diskussionsseite. -->
== links ==
* [http://www.selflinux.org/selflinux/html/cron.html Cron-Tutorial bei selflinux.org]
* [http://www.selflinux.org/selflinux/html/cron.html Cron-Tutorial bei selflinux.org]
* [http://www.apfelwiki.de/Main/CRON Cron im Apfelwiki.de für Mac OS X erklärt]
* [http://www.apfelwiki.de/Main/CRON Cron im Apfelwiki.de für Mac OS X erklärt]


<!-- Link zum Video-Tutorial entfernt, da sachfremd. Siehe Diskussionsseite -->


[[Kategorie:Daemon]]
*[[Hauptseite|Zurück zu Hauptseite]]
[[Kategorie:Freie Software]]
 


[[cs:Cron]]
[[Category:Linux]]
[[en:Cron]]
[[es:Cron (Unix)]]
[[fi:Cron]]
[[fr:Cron]]
[[gl:Cron (xeoloxía)]]
[[ja:Crontab]]
[[mk:Cron]]
[[nl:Cronjob]]
[[pl:Cron (Unix)]]
[[pt:Crontab]]
[[ru:Cron]]
[[th:ครอน]]
[[uk:Cron]]
[[zh:Cron]]

Aktuelle Version vom 5. März 2013, 18:45 Uhr


Das Board mit Freiheiten




Einführung Freetz Pakete Freetz Addons Freetz Tipps Freetz chroot Freetz Images Freetz Faqs


Der cron-Daemon ist eine Jobsteuerung von Unix bzw. unixartigen Betriebssystemen wie Linux, Berkeley Software Distribution 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 Benutzerkonto|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   //Der erste Befehl (beginnend mit 5…) wird fünf Minuten nach jeder vollen Stunde
*/5   *   * * *    /usr/bin/message.sh   //der zweite alle 5 Minuten (die Schrittweite wird durch */Schrittweite angegeben)
59    23  * * 0    cp /var/log/messages  //der dritte einmal pro Woche Sonntag um 23:59 Uhr
0     0   * * *    cp /var/log/syslog    //der vierte täglich um 00:00 Uhr
20,30 1   * * 1-5  /usr/bin/work.sh      //und der fünfte Montag bis Freitag 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 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)

Die Crontabs haben folgende Form.

Minute Stunde Tag Monat Wochentag Befehl

Mögliche Werte sind die folgenden.

Minute 	        Werte von 0 bis 59 oder "*"
Stunde         	Werte von 0 bis 23 oder "*"
Tag 	        Werte von 1 bis 31 oder "*"
Monat 	        Werte von 1 bis 12, "Jan" bis "Dec", "jan" bis "dec", oder "*"
Wochentag 	Werte von 0 bis 7 (sowohl 0 wie 7 stehen für den Sonntag), "Sun" bis "Sat", "sun" bis "sat", oder "*"
Befehl 	        Der auszuführende Befehl mit Optionen oder ein aufzurufendes Skript 

Beispiele

Anzeige von Datum und Uhrzeit auf der Konsole an jedem Tag des Monats stündlich zwischen 9 und 18 Uhr.

0 9-18 * * * date > /dev/console

Anzeige von Datum und Uhrzeit auf der Konsole jeweils Montags und Freitag zu jeder Stunde.

0 * * * 2,5 date > /dev/console

Anzeige von Datum und Uhrzeit auf der Konsole zu jeder geraden zweiten Stunde.

0 */2 * * * date > /dev/console

Anzeige von Datum und Uhrzeit auf der Konsole zu jeder zweiten Stunde zwischen 1 und 6 Uhr (hier also wie "1,3,5").

0 1-6/2 * * * date > /dev/console


Rebooten bzw Neu starten täglich um 5.30 Uhr

30 5 * * 1-7 /sbin/reboot



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 unter Umständen sehr groß werden.

Quellen: Wikipedia

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.
  • Quartz ist ein Job Scheduling Framework für Java

Quellenangaben

http://de.wikipedia.org/wiki/Cron

links