Linux Cronjobs mit Crontab einrichten

Oktober 22, 2009 - von: Patrick

Bei Cronjobs handelt es sich um einen Dienst, der mit dem Windows Taskplaner/Taskmanager verglichen werden kann. Mit einem Cronjob können Anwendungen zu einer vorgegebenen Zeit ausgeführt werden. Bekanntes Verwendungsbeispiel sind beispielsweise tägliche Backups oder sonstige Abläufe, die sich immer wiederholen.

In Linux erstellt man einen Cronjob entweder über ein Programm beispielsweise KCron oder über die Shell. Die Erstellung über die Shell ist eindeutig bequemer und schneller. Um einen Cronjob zu erstellen muss zuerst das crontab aufgerufen werden. Das geht ganz einfach über den Befehl crontab.

Nach der Eingabe sollte ein kleiner Text erscheinen. Hier werden die Parameter angezeigt mit denen das Crontab bedient werden kann.
Da wir in unserem Beispiel ein Crontab erstellen wollen müssen wir die Liste mit den derzeiten Cronjobs öffnen, hierzu verwenden wir den Befehl crontab -e.

Sollten noch keine Cronjobs erstellt worden sein ist das Dokument leer. Kommen wir zum Aufbau eines Cronjobs.

Feld Erlaubte werte
Minute 0-59
Stunde 0-23
Tag 1-31
Monat 1-12
Tag der Woche 0-7 ( 0 – 7 ist Sonntag )

Beispiel: Eine Shell Anwendung soll jeden Tag um 01:00 nachts ausgeführt werden

00 01 * * * /usr/lcoal/server/backup.sh > /dev/null 2>> /var/log/cj.log

Zuanfang geben wir wie oben beschrieben die Startzeit an. Anschließend folgt der Pfad der Shellanwendung die gestartet werden soll. Um bessere Kontrolle und über den Cronjob zu haben erstellen wir eine Logdatei indem bei jeder Ausführung des Cronjobs ein Eintrag von der Operation vorgenommen wird. Hierzu legen wir die Logdatei cj.log im Verzeichnis /var/log/ an.

Neben der manuellen Eingabe des Startpunktes kann auch noch auf 8 spezielle Bedingungen zurückgegriffen werden.
Bei den Bedingungen handelt es sich um voreingestellt Startpunkte.

Befehl Anweisung
@reboot Cronjob startet bei starten des Betriebssystems
@yearly Cronjob startet einmal im Jahr
@annually Cronjob startet einmal im Jahr
@monthly Cronjob startet jeden Monat
@weekly Cronjob startet jede Woche
@daily Cronjob startet jeden Tag
@midnight Cronjob startet startet einmal am Tag
@hourly Cronjob startet jede Stunde

Suchbegriffe

Kategorie: Allgemein Kommentieren »


Kommentar schreiben

Kommentar