Linux - Cronjobs: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
Zeile 1: Zeile 1:
Cronjobs
+
 
 +
== Cronjobs / Crontab ==
  
 
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.
 
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.
Zeile 5: Zeile 6:
  
 
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:
 
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:
crontab -l
+
 
 +
crontab -l
  
 
Editieren kann man die Liste mit:
 
Editieren kann man die Liste mit:
crontab -e
+
 
 +
crontab -e
  
 
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.
 
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.
  
 
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:
 
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:
 +
 
<pre>
 
<pre>
 
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2>/dev/null >/dev/null
 
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2>/dev/null >/dev/null
 
0 20 * * * /srv/scripts/backup.sh 2>&1 | /usr/global/bin/cmail -s "Mail-Subject" mail@admin.de
 
0 20 * * * /srv/scripts/backup.sh 2>&1 | /usr/global/bin/cmail -s "Mail-Subject" mail@admin.de
 
1 3 * * * /srv/scripts/backup.sh
 
1 3 * * * /srv/scripts/backup.sh
 
 
</pre>
 
</pre>
  
 
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.
 
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.
 
Dabei stehen die Zahlen der Reihenfolge nach für:
 
Dabei stehen die Zahlen der Reihenfolge nach für:
 +
 
Die Minute zu der das Script ausgeführt werden soll (0-59),
 
Die Minute zu der das Script ausgeführt werden soll (0-59),
 +
 
Die Stunde (0-23),
 
Die Stunde (0-23),
 +
 
Den Tag (1-31),
 
Den Tag (1-31),
 +
 
Den Monat (1-12),
 
Den Monat (1-12),
 +
 
Den Wochentag (0-6 wobei 0=Sonntag).
 
Den Wochentag (0-6 wobei 0=Sonntag).
  
 
Ein * steht jeweils für 'jeden'.
 
Ein * steht jeweils für 'jeden'.
1 3 * * * würde also bedeuten: Jeden Tag um 3.01 Uhr
+
1 3 * * *  
 +
 
 +
würde also bedeuten: Jeden Tag um 3.01 Uhr
 +
*/6
 +
 
 +
bedeutet: "Wenn die Zahl durch 6 teilbar ist", also alle 6 Stunden/Minute, ...
 +
0 */6 * * *
  
*/6 bedeutet: "Wenn die Zahl durch 6 teilbar ist", also alle 6 Stunden/Minute, ...
+
würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.
0 */6 * * * würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.
 
  
 
Man kann mehrere Zahlen auch durch Komata trennen:
 
Man kann mehrere Zahlen auch durch Komata trennen:

Version vom 1. Oktober 2009, 08:57 Uhr

Cronjobs / Crontab

Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden. Das können z.B. Serverstatistiken sein, die man jede Nacht generieren möchte.

Anzeigen kann man die Liste der Cronjobs mit dem Befehl:

crontab -l

Editieren kann man die Liste mit:

crontab -e

Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.

Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:

0 */6 * * * /usr/local/confixx/runwebalizer.sh 2>/dev/null >/dev/null
0 20 * * * /srv/scripts/backup.sh 2>&1 | /usr/global/bin/cmail -s "Mail-Subject" mail@admin.de
1 3 * * * /srv/scripts/backup.sh

Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen. Dabei stehen die Zahlen der Reihenfolge nach für:

Die Minute zu der das Script ausgeführt werden soll (0-59),

Die Stunde (0-23),

Den Tag (1-31),

Den Monat (1-12),

Den Wochentag (0-6 wobei 0=Sonntag).

Ein * steht jeweils für 'jeden'.

1 3 * * * 

würde also bedeuten: Jeden Tag um 3.01 Uhr

*/6 

bedeutet: "Wenn die Zahl durch 6 teilbar ist", also alle 6 Stunden/Minute, ...

0 */6 * * * 

würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.

Man kann mehrere Zahlen auch durch Komata trennen:

7 1,2,5 * * * würde jeden Tag um 1:07, um 2:07 und um 5:07 ausgeführt werden.

Auch - (bis) ist Möglich

0 0 * * 1-5 würde jeden Wochentag um 0.00 ausgeführt werden.

Nach dieser Zeitangabe folgt das Komando, dass zu den zuvor festgelegten Zeiten ausgeführt werden soll. z.B.: Das Script /srv/scripts/backup.sh aufrufen, welches z.B. wichtige Dateien sichert.

Quelle: http://www.orgapage.net/pages/server/linux/cronjobs.php (1.10.2009)