MCSE Forum - German Windows 2000/XP/2003/2008/Windows Vista und Windows 7 - IT Community Board
Werbung
Zurück   MCSE Forum - German Windows 2000/XP/2003/2008/Windows Vista und Windows 7 - IT Community Board > Community > Workshops | How-To´s
Seite neu laden Kurz-Howto Cron-Job
Spenden

Login
Benutzername:
Kennwort:


Werbung


Statistik
Themen: 26011
Beiträge: 43222
Benutzer: 3,521
Produkte: 1
Links: 1
Wir begrüßen unseren neuesten Benutzer: darkarchon
Mit 901 Benutzern waren die meisten Benutzer gleichzeitig online (05.04.2008 um 14:21).
Neue Benutzer:
01.08.2011
- darkarchon
27.07.2011
- kirvad
26.07.2011
- Mama1970
21.06.2011
- quam2000
21.06.2011
- amandany67...


Antwort
 
LinkBack Themen-Optionen Ansicht
  (#1 (permalink)) Alt
Quoten-Depp
 
Benutzerbild von BeoWulf
 
Beiträge: 2,805
Registriert seit: 18.06.2003
Standard Kurz-Howto Cron-Job - 06.07.2005, 16:18

1. Was ist ein Cronjob / Welche Möglichkeiten habe ich mit Cronjobs?

Cronjobs sind Skripte oder Aufgaben, die zu einem bestimmten Zeitpunkt vom System ausgeführt werden sollen. Das System eignet sich deshalb besonders gut für Aufgaben die immer wieder anstehen und die kein Eingreifen des Users verlangen (Bspw. Backups, Logs auswerten oder Trafficinformationen verschicken). Cronjobs sind ungefähr das Selbe wie die "Geplanten Tasks" unter Windows

2. Wie erstelle ich Cronjobs

Die einfachste Möglichkeit vorweg - wem das bereits genügt braucht den Rest nicht mehr zu lesen:
Wenn man ein Script jeden Tag ausführen will, kopiert man es einfach in den Ordner /etc/cron.daily, für einmal pro Woche in /etc/cron.weekly und einmal pro Monat in /etc/cron.monthly und das war's bereits. (Auf die Rechte achten 'chmod 700 script.sh'!)

Wem das nicht genügt hat zwei verschiedene Möglichkeiten Cronjobs einzutragen. Einerseits in die Datei /etc/crontab, die aber nur vom User root geändert werden kann oder mit dem Befehl 'crontab -e'. Zuerst die Möglichkeit über die Datei /etc/crontab. Das Format eines neuen Crontabs sieht folgendermassen aus:

3. Wie muss ein Cronjob aussehen?

Code:
Minute | Stunde | Tag des Monats | Monat | Tag der Woche | User | Befehl

Die möglichen Werte aufgelistet:
Minute: 0-59
Stunde: 0-23
Tag des Monats: 1-31
Monat: 1-12
Tag der Woche: Nützlich wenn z.B. immer Dienstags ein Script gestartet werden soll. Möglich ist 0-7, wobei 0 und 7 jeweils der Sonntag ist.
User: Der Benutzername unter dem das Script ausgeführt werden soll. Bspw root
Befehl: Konsolen-Befehl oder Scriptname der ausgeführt wird. Bspw /root/scripts/backup.sh

Wie sieht ein solcher Aufruf nun komplett aus?

Code:
0 15 * * * root /root/scripts/backup.sh

Das Script /root/scripts/backup.sh würde nun jeden Tag um 15 Uhr ausgeführt.
Wie man hier sieht werden die Werte die egal sind mit einem Stern (*) gekennzeichnet, in diesem Fall ist es egal was für ein Tag ist, in welchem Monat wir uns befinden und auch ob wir Dienstag oder Donnerstag haben

Über den Befehl crontab -e funktioniert das ganz ähnlich, es fällt nur die Spalte User weg, da das Script unter dem Benutzer laufen wird, der den Cronjob eingerichtet hat.
Bsp:

Code:
0 15 * * * /root/scripts/backup.sh

Nun hat man aber noch einige weitere Möglichkeiten die Werte anzugeben:

Listen: Mit , getrennte Werte (ohne Abstand dazwischen) Bspw: 8,12 um ein Script um 8 und 12 Uhr auszuführen.
Zahlenfolgen: Mit - getrennte Werte Bspw. 8-12 um das Script um 8,9,10,11 und 12 Uhr auszuführen.
Stufen: */Stufe, Wird genutzt um z.B.: "alle fünf Minuten" oder "jeden 2. Tag" zu erstellen. Bspw: */2 um das Script alle zwei Stunden auszuführen.

4. Besondere Aufrufe

Für besondere Ereignisse kann man anstatt der 5 Zeitdaten eines der Folgenden einsetzen:

@reboot Ausführen beim Systemstart
@yearly Einmal pro Jahr
@monthly Einmal pro Monat
@weekly Einmal pro Woche
@daily Einmal am Tag
@hourly Einmal pro Stunde

Bsp:

Code:
@reboot root /root/scripts/backup.sh

Führt das Script beim Systemstart unter dem User root aus.

5. Output und Fehlermeldungen

Schreibt man in die /etc/crontab eine Zeile wie

Code:
MAILTO=root

Wird die gesamte Ausgabe der Scripts per Mail an den User root gesendet.
Wenn man dies bei keinem seiner Scripte will, löscht man einfach die Zeile mit dem MAILTO= aus /etc/crontab.
Will man nur bei bestimmten Scripts keine Meldung fügt man > /dev/null an den Aufruf an, damit werden die Meldungen die vom Script gesendet werden ins Nichts geleitet

Beispiel:
Code:
0 15 * * * root /root/scripts/backup.sh > /dev/null

Nun erhält man aber noch allfällige Fehlermeldungen per Mail. Will man auch diese nicht, muss noch 2>&1 angefügt werden, damit werden Fehler dorthin geleitet wo auch die Normale Ausgabe hinkommt, und das ist wieder ins Nichts...

Beispiel:

Code:
0 15 * * * root /root/scripts/backup.sh > /dev/null 2>&1

6. Beispiele

Um das Ganze noch etwas verständlicher zu machen einige Beispiele:

Code:
* * * * * root /root/scripts/backup.sh

Script wird jede Minute ausgeführt.

Code:
*/1 * * * * root /root/scripts/backup.sh

Bewirkt das Selbe wie der Aufruf oben.

Code:
10 * * * * root /root/scripts/backup.sh

Script wird jede Stunde um 10 nach ausgeführt. (14.10, 15.10 etc)

Code:
0 10,12 * * * root /root/scripts/backup.sh

Script wird jeden Tag um 10.00 und 12.00 Uhr ausgeführt.

Code:
0 0 2-4 * * root /root/scripts/backup.sh

Script wird am 2., 3. und 4. jeden Monats um 0.00 Uhr ausgeführt.

Code:
40,50 13 */2 4-8 * root /root/scripts/backup.sh > /dev/null 2>&1

Script wird vom April bis August jeden zweiten Tag um 13.40 und 13.50 ausgeführt, wobei die Ausgabe wie auch die Fehlermeldungen nicht verschickt werden.

Code:
*/2 * * * * root /root/scripts/backup.sh > /dev/null

Script wird alle 2 Minuten aufgerufen wobei der Output des Scripts nicht verschickt wird.

Code:
0 10 * * 1 root /root/scripts/backup.sh

Script wird jeden Montag um 10.00 Uhr ausgeführt.


Wer Rechtschreibfehler findet, der kann se gerne behalten. Ja ich kenn Groß- und Kleinschreibung,so gehts aber einfach schneller :P
Mit Zitat antworten
Sponsored Links
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Samba-HOWTO-Sammlung Forke Workshops | How-To´s 0 16.11.2005 14:17
Erstellung von LiveCD's HOWTO Linkliste BeoWulf sonstige Betriebsysteme 0 10.10.2005 22:30




Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.5.0 RC2
Powered by vBCMS® 2.7.1 ©2002 - 2012 vbdesigns.de
vBulletin Skin developed by: vBStyles.com


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117