Cronjob

was ist ein cronjob

Copyright © Shutterstock / Paolo De Gasperis

Was ist ein Cronjob?

Der Begriff Cronjob bezeichnet automatisiert ausführbare, wiederkehrende Aufgaben auf unixähnlichen Betriebssystemen. Das aus dem Englischen stammende Akronym Cronjob hat die Bedeutung von command run on notice. Die Aufgaben im Rahmen der Cronjobs lassen sich etwa auf Linux oder Mac OSX beziehungsweise iOS oder auf Serverumgebungen ausführen.

Als Basis für einen Cronjob dient der Cron-Daemon. Dieser im Hintergrund des Systems laufende Daemon stellt eine Art zeitlichen Impuls für diese Aufgaben dar. Er wird mit dem Start des Systems aktiv und läuft mit. Sobald ein Cronjob definiert ist, wird er automatisiert und zu den angegebenen Zeiten vom System ausgeführt.

Cronjobs finden sich insbesondere im Zusammenhang mit der Verwaltung, Archivierung oder Löschung von Daten. Auch zur Erstellung von Statistiken für Webseiten und Server (beispielsweise Besucher-Statistiken) finden Cronjobs Anwendung.

Überblick, Allgemeines und Entwicklung

In seiner ersten Form stellte der Cronjob einen Unix-Systemdienst dar. Er kam zum Einsatz, wenn mehrere Benutzer das System verwendeten. Hierbei kam es zu einem minütlichen Starts des sogenannten Crontabs. Das System hat die dort hinterlegten Anweisungen mit Zeitstempel und den Benutzerrechten (ausgehend vom Root-Server) ausgeführt.

Good to know

Die Hauptaufgabe bestand darin, das System zu verwalten. Während sich diese Aufgabe bis heute fortsetzt, besteht einer der Unterschiede darin, dass aktuelle Cron-Daemons keine virtuelle Zeit mehr nutzen. Statt virtueller Zeit beim Cron-Aufruf durch Anwender handelt es sich um Echtzeit bei ständig verfügbaren Servern.

Die zugehörigen Daten finden sich notiert in einer Tabelle. Sie sind zusätzlich mit bestimmten Argumenten versehen. Diese beinhalten Daten über Befehle sowie Zeitpunkte zur Ausführung.

Der Ablauf beziehungsweise die Abarbeitung von Cronjobs verläuft sequentiell und sukzessive. Damit ähnelt die Vorgehensweise der bei der Batch-Programmierung oder der Stapelverarbeitung. Die Batch-Programmierung findet jedoch im Wesentlichen bei der Server-Installation und -Konfiguration Anwendung, während Cronjobs in erster Linie der Verwaltung des Systems dienen. Ein Cronjob geht bei seiner sukzessiven Ausführung mit enormem Ressourcenverbrauch des Servers einher. Aus diesem Grund erfolgen Cronjobs bevorzugt zu Zeiten einer geringen Besucheranzahl auf der Webseite.
Cronjobs bergen den Vorteil einer exakten Angabe des Zeitstempels. Diese dient dazu, den Cronjob auszulösen.

Voraussetzung, Funktionsweise und Ablauf von Cronjobs

Wesentliche Voraussetzung zur Durchführung von Cronjobs sind ein unixartiges Server-System und ein Dedicated Server. Zu den unixartigen Servern zählen Server wie Linux oder Systeme von BSD. Der Dedicated Server sollte nicht von anderen Nutzern geteilt werden. Zwar ist die Nutzung auch auf Servern möglich, die geteilt werden, doch beanspruchen Cronjobs viele Ressourcen, sodass ihre Ausführung zu Lasten der anderen Nutzer gehen würde.

Über Secure Shell (SSH) oder einen Telnet-Client erfolgt eine sichere Verbindung zum Web-Server. Erforderliche Cron-Skripte oder Dateien lassen sich mittels FTP (File-Transfer-Protocol) übertragen.

Eine grundlegende Bedeutung für die Ausführung von Cronjobs spielt die Crontab-Datei. In einem Kommandozeilen-Editor lässt sich diese Datei aufrufen. Ebenso finden sich verschiedene Programme, die den Umgang mit Cronjobs auch mit grafischer Benutzeroberfläche ermöglichen. Visuelle Cronjob-Umgebungen finden Anwender auch auf diversen spezialisierten Webseiten.

Die Datei Crontab basiert grundsätzlich auf tabellarisch aufgebauten sechs Spalten. Hierbei entfallen auf die ersten fünf Spalten verschiedene Zeitstempel. Diese beziehen sich auf unterschiedliche zeitliche Einheiten von Minuten über Stunden bis zu Tagen, Monaten und Wochentagen. Erst in der letzten Spalte taucht der auszuführende Befehl auf. Jede Tabellenspalte wird hierbei getrennt durch ein Leerzeichen. Handelt es sich um eine Vielzahl von Angaben, so lassen sich diese durch Kommata separieren.

Entsprechend gestaltet sich die Syntax aus den Begriffen minute (Minute), hour (Stunde), day (Tag), month (Monat), day-of-the-week (Wochentag) und command-line-to-execute (auszuführende Anweisung). Entsprechend der zeitlichen Einheiten können die ersten fünf Spalten folgende Werte annehmen. 0 bis 59 für die Spalte minute, 0 bis 23 für hour, 0 bis 31 für die Spalte day, 1 bis 12 für month und 0 bis 7 für den Wochentag.

Wichtige Cron-Variablen

Die Cron-Variablen oder Umgebungsvariablen dienen der Integration der auszuführenden Anweisungen in den Crontab. Hierbei kommen häufig PERL-, PHP- oder SHELL-Skripte zum Einsatz. Zu den wichtigsten Befehlen gehören SHELL, PATH und MAILTO. Der Befehl PATH steht für denjenigen Pfad, in dem nach Befehlen oder Skripten gesucht wird. Der SHELL-Befehl steht für die Angabe des Kommandozeilen-Interpreters, dem die Ausführung des Skripts obliegt. Unix bietet Anwendern hierbei mehrere verschiedene Interpreter, wobei die Standardeinstellung bin/sh vorsieht.

MAITO dient als Befehl dazu, Anwender anzugeben, an die Cron nach der Durchführung die Skript-Ergebnisse weiterleitet. In der Standardeinstellung ist als Benutzer der auftraggebende Anwender vorgesehen.

Jeder einzelne Cronjob ermöglicht die Festlegung unterschiedlicher Variablen. Daher lassen sich Zeitstempel, Skript-Outputs und Befehle an die Parameter der jeweiligen Anwender anpassen. LOGFILEs ermöglichen zudem eine umfassende Dokumentation der Arbeit des Skripts.

Cronjobs und ihr Stellenwert in der Suchmaschinenoptimierung

Vorteile von Cronjobs für die Suchmaschinenoptimierung:

  1. Cronjobs bieten aufgrund ihrer automatisierten Abläufe in mehreren Bereichen und Aufgaben deutliche Effizienzgewinne. Zeitintensive Aufgaben lassen sich automatisiert gestalten. Insbesondere im Hinblick auf Verwaltungsaufgaben und Auswertungen ist dies von Vorteil. Auch die Bereinigung von Datenbanken oder das Speichern von Backups gehört zu den wichtigen Anwendungsbereichen. Ebenso können Daten automatisch archiviert oder entfernt werden. Zudem werden Systeme automatisiert gewahrtet.
  2. Im Rahmen der Webanalyse stellen Cronjobs enorme Erleichterungen dar. So lassen sich etwa Besuchsstatistiken für Webserver anlegen, die in vorgegebenen Zeitabständen an Anwender gesendet werden. Die auf einem Server gespeicherten Daten stellen wertvolle Informationen dar, auf deren Basis eine Webseite optimiert werden kann.
  3. Größere Anwendungsmöglichkeiten für Cronjobs zeigen sich in Kombination mit CMS-Systemen. In Abhängigkeit Skripte und Anforderungen lassen sich auf diese Weise etwa Metriken berechnen oder Lagerbestände analysieren.
  4. Ein weiterer Vorteil besteht darin, dass der Cronjob eine Art Steuerung der Serverbelastung ermöglicht. Insbesondere zu Zeiten geringen Besucher-Traffics sind Cronjobs besonders vorteilhaft. Ihre Ausführung benötigt Ressourcen, die nicht die Nutzererfahrung durch zu lange Ladezeiten einschränken sollten. Geringe Ladezeiten gelten als vorteilhaft für die Suchmaschinenoptimierung.

Weiterführende Links

 


Sie haben noch Fragen?

Kontaktieren Sie uns

Free Account erstellen


Weitere Inhalte