Cronjobs einrichten

cronlogo

Wie man einen Cronjob einrichtet, habe ich damals bereits im Artikel XenServer und RDX beschrieben. Da ich bis dato keine Cronjobs mehr eingerichtet habe, und gestern unbedingt einen einrichten musste, gibt es nun diesen Artikel ;)

Cronjobs sind eigentlich nichts anderes als die geplanten Tasks bei Windows – meiner Meinung nach allerdings leichter zu konfigurieren. Cronjobs dienen also dazu, wiederkehrende (oder auch einmalige) Aufgaben an einem Linux- bzw. UNIXoiden System (Ubuntu, SuSE, Mac OS X, …) auszuführen.

Der Aufbau dieser Cronjobs ist recht simpel:

Minute Stunde  Tag   Monat      Wochentag Befehl
(0-59) (0-23) (1-31) (1-12)  (0-7, Sonntag = 0/7)
  x      x      x      x            x     /pfad/zur/datei

Wir benötigen zum erstellen eines Cronjobs also lediglich die Zeit- und Programmangaben.

Mögliche Parameter für Cronjobs sind:

* (alle Zustände)

1-n (Minute, Stunden, Tage, Wochen, Monate)

*/n (alle n Minuten, Stunden, Tage, Wochen, Monate)

Der fertige Crontab sieht also so aus:

30 2 * * * sh /var/bin/lustigedatei.sh (Führt lustigedatei.sh jeden Tag um 02:30 Uhr aus)
*/5 * * * * sh /var/bin/compresslogs.sh (compresslogs.sh wird alle fünf Minuten ausgeführt)
45 7 * * 1-5 sh /var/bin/ejectmedia.sh (ejectmedia.sh wird Montags bis Freitag um 07:45 Uhr ausgeführt)
0 0 * */2 1 sh /var/bin/fullbackup.sh (fullbackup.sh wird jeden ersten Montag in jedem zweiten Monat ausgeführt)

Zu beachten ist hierbei, dass die in der Crontab eingetragenen Befehle standardmässig immer als sh ausgeführt werden. Sofern Ihr andere Programme starten wollt, müsst Ihr dies angeben. sh wurde von mir nur zur Verdeutlichung der Aktionen (Achtung,hier wird was ausgeführt!) vorangestellt.
Ausserdem müsst Ihr natürlich keine ausführbare Datei angeben, Ihr könnt auch direkt einen Befehl angeben:

30 2 * * * init 0

Fährt den Computer oder Server um 02:30 herunter. Täglich. Bei Servern (es soll ja welche geben, die froh um einen Reboot sind) empfehle ich anstelle init 0 allerdings init 6 (init 0 fährt herunter, init 6 startet neu).

Sobald Ihr in der Theorie verstanden habt, wie Ihr einen Cronjob einrichtet – und erst dann! – gebt in der Konsole Eures Servers crontab -e ein. Diese Maske lässt sich bedienen wie vi und beinhaltet manuell erstellte Cronjobs.

Ich hoffe, ich konnte einigen weiterhelfen, und wünsche viel Erfolg beim Aufgaben planen.

Veröffentlicht von

Manuel Sychold, Citrix Certified Adminitrator for XenServer 6 und XenDesktop 5 arbeitet als CIO in einem international tätigen Akustik-Unternehmen. Manuel bloggt hauptsächlich über Citrix -Produkte (XenServer, XenDesktop, XenApp), sowie Microsoft-Produkte. Manuel erreicht man über Google+

2 Kommentare » Schreibe einen Kommentar

  1. Ist es nicht so, dass Parameter 3 dom (day of month), Parameter 4 mon (Month) und Parameter 5 dow (day of week) beschreibt? Dies ist auf jeden Fall bei meinen Systemen mit Debian der Fall… ;)

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.


Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg