Cronjob für regelmäßige Aufgaben am Server

Automatisierte regelmäßige Aktionen einstellen

Betrachtet man eBay als Beispiel, so besteht das riesige Portal aus vielen kleinen Hilfsprogrammen, die als Skripte programmiert wurden. Es sitzt aber nicht jemand vor dem Computer und ruft diese Programme auf, sondern die Arbeit der Skripte wird durch Cronjobs bestellt. Ruft man beispielsweise die Startseite auf, dann wird geprüft, ob ein Cronjob aufgerufen werden soll. Dieser könnte nachschauen, ob zum aktuellen Zeitpunkt Auktionen geschlossen werden müssen oder nicht. Mit manueller Arbeit wäre eine solche Aufgabe auch gar nicht lösbar und viel zu ungenau.

Was ist ein Cronjob?

Ein Cronjob ist in Wirklichkeit ein Skript mit einer Liste von Befehlen, die abgearbeitet werden. Wenn man zum Beispiel eine Anwendung auf einer Webseite betreibt wie ein Auktionshaus, dann ist es wichtig, dass die Auktionen zeitgerecht geschlossen und abgerechnet werden. Man kann nicht 24/7 überprüfen, ob gerade etwas beendet wurde, sondern lässt ein Skript laufen, das per Datenbank überprüft, ob Handlungen zu setzen sind. Wenn nein, ist das ok, wenn ja, gibt es Anweisungen, in der Datenbank tätig zu werden.

Ein Cronjob kann in zweierlei Hinsicht eingesetzt werden. Die eine Anwendung ist das Beispiel von eBay, wobei eine Webseite mit Funktionen automatisch überarbeitet und verwaltet wird. Die andere Möglichkeit, Cronjobs einzusetzen, ist beim Server selbst gegeben - beispielsweise beim Aktualisieren der Statistikdaten, also der Zugriffsdaten für die einzelnen, am Server laufenden Webseiten.

Cronjob auf Konsolenebene einrichten

Der Cronjob kann auf Konsolenebene etwa mit Programmen wie PuTTY mit dem Befehl

crontab -e

aufgerufen werden, bei Verwaltungspakete wie Confixx  oder Plesk ist auch die direkte Eingabe als Formulareintrag möglich, um einen Cronjob zu speichern. Beim normalen Webhosting-Paket ist es eher unüblich, dass man sich selbst einen Cronjob anlegen kann, dies übernimmt auf Anfrage der Provider. Beim Rootserver oder VServer ist die Anwendung hingegen oftmals Notwendigkeit.

# m h dom mon dow command

lautet die Überschriftenreihe bei den Cronjobs üblicherweise, wobei m für Minuten, h für Stunden, dom für Tag des Monats (1-31), mon für Monat und dow für Tag der Woche (0-7) steht.

# m h dom mon dow command
*/10 * * * * /skriptname

würde zum Beispiel bedeutet, dass alle 10 Minuten das Skript automatisch vom Server aufgerufen wird. Die Sterne bedeuten, dass es keine Einschränkung auf einen bestimmten Tag oder Monat gibt. Egal welcher Tag, egal welcher Monat - alle 10 Minuten wird das Skript aufgerufen, ohne dass man einen Handgriff durchführen muss.

Cronjob auf Benutzeroberfläche anlegen

Die modernen Server, die man selbst auch mieten kann, verfügen über eine umfangreiche Benutzeroberfläche wie Confixx, Plesk und dergleichen mehr und bei den Tools kann man die Cronjobs verwalten. Der Server selbst lässt ein Dutzend oder mehr Skripte regelmäßig ablaufen, um den Server selbst aktuell zu halten.

Diese Überlegung kann man für die Webseiten auch nutzen, indem man etwa eine Sicherheitskopie der Datenbank immer um Mitternacht laufen lässt, wenn die Auslastung besonders gering ist. Auch Statistikskripte wären eine Möglichkeit. Hier muss man nicht mit der Konsole arbeiten, sondern kann wie unter Windows die Einstellungen wie Skriptname, Pfad zum Skript und Zeitpunkt des Starts festlegen.

Lesen Sie auch

Wenn man einen eigenen Server betreibt, meist gemietet von einem Provider, muss man über die wesentlichen Faktoren zumindest ein Grundwissen mitbringen. Der wichtigste Punkt ist und bleibt die php.ini-Datei mit der Steuerung der Rahmenbedingungen für die Programmiersprache, mit der die meisten Webseiten aufgebaut sind. Das gilt vor allem auch für die Speicherangaben.

Und dann gibt noch einige Aufgaben, Lösungen und Hilfestellungen beim Betreiben vom Rootserver wie etwa ein Cronjob für regelmäßige Sicherungsarbeiten oder den Zugang zur Konsole über Hilfsprogramme wie das beliebte PuTTY. Und man sollte auch wissen, dass der Neustart vom Server manchmal richtig heilsam sein kann.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel