Cron Job 

Cronjob: Bedeutung, Syntax und Beispiele

Zwei Personen arbeiten an Computern in einem Büro, beide konzentriert auf den Bildschirm.
Ralph Grundmann · Zuletzt aktualisiert am 03.10.2026

Ein Cronjob (auch Cron Job) ist eine Aufgabe, die ein Server automatisch zu festgelegten Zeiten ausführt, zum Beispiel jede Nacht um 3 Uhr oder alle 15 Minuten. Zuständig ist der Dienst Cron, der auf Linux und anderen Unix-ähnlichen Systemen im Hintergrund läuft. Typische Aufgaben sind Datensicherungen, der Versand von Berichten, das Aktualisieren von Produktdaten oder das Leeren von Zwischenspeichern. Der Name kommt vom griechischen Wort „chronos“ für Zeit.

Was ist ein Cronjob?

Ein Cronjob besteht aus zwei Teilen: einem Zeitplan und einem Befehl. Der Zeitplan legt fest, wann etwas geschieht. Der Befehl legt fest, was geschieht, meist der Aufruf eines Skripts oder Programms.

Die wichtigsten Begriffe:

  • Cron: der Dienst (Daemon), der im Hintergrund läuft und die Aufgaben startet.
  • Crontab: die Tabelle, in der die Aufgaben stehen. Jeder Benutzer hat eine eigene Crontab, dazu kommt eine für das gesamte System.
  • Cronjob: eine einzelne Zeile in der Crontab, also eine geplante Aufgabe.
  • Cron-Ausdruck: die Schreibweise des Zeitplans, zum Beispiel 0 3 * * * für „täglich um 3 Uhr“.

Cronjob und Cron Job bedeuten dasselbe. Im Deutschen ist die Schreibweise in einem Wort verbreitet, im Englischen schreibt man „cron job“.

Wie funktioniert Cron?

Der Cron-Dienst startet mit dem Server und prüft einmal pro Minute, ob in einer Crontab eine Aufgabe für diese Minute eingetragen ist. Wenn ja, führt er den Befehl aus, und zwar mit den Rechten des Benutzers, dem die Crontab gehört.

Drei Eigenschaften sollte man kennen:

  • Die kleinste Einheit ist die Minute. Aufgaben im Sekundentakt lassen sich mit Cron nicht planen.
  • Cron holt nichts nach. War der Server zum geplanten Zeitpunkt ausgeschaltet, fällt die Aufgabe aus.
  • Cron kennt die Umgebung Ihrer Anmeldung nicht. Befehle laufen mit einer sehr kleinen Umgebung. Das ist die häufigste Ursache dafür, dass ein Skript von Hand funktioniert und als Cronjob nicht.

Die Cron-Syntax: fünf Felder und ein Befehl

Jede Zeile der Crontab hat denselben Aufbau: fünf Felder für den Zeitpunkt, getrennt durch Leerzeichen, danach der Befehl.

Minute Stunde Tag Monat Wochentag Befehl

  • Minute: 0 bis 59
  • Stunde: 0 bis 23
  • Tag im Monat: 1 bis 31
  • Monat: 1 bis 12 oder jan bis dec
  • Wochentag: 0 bis 7 oder sun bis sat, wobei 0 und 7 beide für Sonntag stehen

In jedem Feld sind diese Zeichen erlaubt:

  • * steht für jeden Wert.
  • , trennt mehrere Werte: 1,15 im Feld Tag bedeutet am 1. und am 15.
  • - bildet einen Bereich: 1-5 im Feld Wochentag bedeutet Montag bis Freitag.
  • / bildet Schritte: */15 im Feld Minute bedeutet alle 15 Minuten.

Eine Besonderheit führt oft zu Überraschungen: Sind sowohl der Tag im Monat als auch der Wochentag eingeschränkt, läuft die Aufgabe, sobald eines von beiden zutrifft. 0 8 13 * 5 bedeutet also nicht „Freitag, der 13.“, sondern „an jedem 13. und an jedem Freitag“.

Für häufige Zeitpläne gibt es Kurzformen: @hourly, @daily, @weekly, @monthly, @yearly und @reboot für „einmal nach dem Start des Servers“.

Beispiele für Cron-Ausdrücke

Die folgenden Ausdrücke decken die meisten Fälle ab und lassen sich direkt übernehmen:

  • * * * * * jede Minute
  • */5 * * * * alle 5 Minuten
  • 0 * * * * zu jeder vollen Stunde
  • 30 2 * * * täglich um 2:30 Uhr
  • 0 8,18 * * * täglich um 8 Uhr und um 18 Uhr
  • 0 7 * * 1-5 montags bis freitags um 7 Uhr
  • 0 6 * * 1 jeden Montag um 6 Uhr
  • 0 0 1 * * am Ersten jedes Monats um Mitternacht
  • 0 9 1 1,4,7,10 * am ersten Tag jedes Quartals um 9 Uhr
  • 0 22 * * 0 jeden Sonntag um 22 Uhr

Eine vollständige Zeile mit Befehl sieht so aus:

30 2 * * * /usr/bin/php /var/www/shop/bin/feed-export.php >> /var/log/feed-export.log 2>&1

Sie startet jede Nacht um 2:30 Uhr ein PHP-Skript und schreibt Ausgaben und Fehlermeldungen in eine Protokolldatei.

Cron-Ausdruck prüfen: der Cron-Generator

Tragen Sie einen Cron-Ausdruck ein oder wählen Sie ein Beispiel. Das Werkzeug erklärt jedes der fünf Felder und zeigt die nächsten fünf Ausführungen in Ihrer Ortszeit. So sehen Sie vor dem Eintrag in die Crontab, ob der Zeitplan stimmt.

Das Werkzeug versteht die übliche Schreibweise mit fünf Feldern: *, Listen, Bereiche, Schritte, Namen für Monate und Wochentage sowie Kurzformen wie @daily. Sekunden, Jahre und Sonderzeichen anderer Systeme wie L, W oder # werden nicht unterstützt.

Erstgespräch anfragen

Cronjob einrichten: Schritt für Schritt

Auf einem Server mit Zugriff auf die Kommandozeile richten Sie einen Cronjob in vier Schritten ein:

  1. Crontab öffnen: Der Befehl crontab -e öffnet die Crontab des angemeldeten Benutzers in einem Texteditor.
  2. Zeile eintragen: Schreiben Sie Zeitplan und Befehl in eine neue Zeile. Verwenden Sie vollständige Pfade für Programme und Dateien.
  3. Speichern und schließen: Cron übernimmt die Änderung sofort. Ein Neustart ist nicht nötig.
  4. Prüfen: crontab -l zeigt alle eingetragenen Aufgaben an. Testen Sie die Aufgabe zuerst mit einem Zeitpunkt wenige Minuten in der Zukunft.

Vorsicht mit crontab -r: Der Befehl löscht die gesamte Crontab ohne Rückfrage.

Neben den Crontabs der Benutzer gibt es die Systemdateien /etc/crontab und das Verzeichnis /etc/cron.d. Dort steht zwischen Zeitplan und Befehl zusätzlich der Benutzer, unter dem die Aufgabe läuft.

Ohne Kommandozeile: Bei den meisten Hosting-Paketen legen Sie Cronjobs in der Verwaltungsoberfläche an, etwa in Plesk oder cPanel. Dort wählen Sie den Zeitplan aus und tragen den Befehl oder die Adresse eines Skripts ein. Die Logik dahinter ist dieselbe.

Wofür werden Cronjobs im Website-Betrieb eingesetzt?

Fast jede größere Website und jeder Shop nutzt Cronjobs, oft ohne dass es auffällt. Typische Aufgaben:

  • Datensicherungen von Datenbank und Dateien
  • Produktdaten: Export und Aktualisierung von Feeds für Google Shopping, Preisvergleicher und Affiliate-Netzwerke, mehr dazu unter Feed-Optimierung
  • XML-Sitemaps neu erzeugen
  • Zwischenspeicher leeren und vorwärmen
  • Import und Abgleich von Lagerbeständen und Preisen aus der Warenwirtschaft
  • Berichte: Daten über eine API abrufen und als Auswertung versenden
  • Aufräumen: alte Sitzungen, temporäre Dateien und Logdateien rotieren oder löschen
  • E-Mails: Newsletter und Benachrichtigungen aus einer Warteschlange versenden

Für SEO ist das wichtiger, als es klingt. Läuft der Cronjob für den Feed nicht, zeigt Google veraltete Preise. Wird die Sitemap nicht erneuert, findet Google neue Seiten später. Ein aufwendiger Cronjob zur Hauptbesuchszeit kann den Server bremsen und die Ladezeit verschlechtern. Solche Aufgaben gehören in die Nacht.

WordPress: WP-Cron und echter Cronjob

WordPress bringt ein eigenes System für geplante Aufgaben mit, den WP-Cron. Er veröffentlicht geplante Beiträge, sucht nach Updates und führt Aufgaben von Plugins aus. WP-Cron ist allerdings kein echter Cronjob: Er wird nicht von der Uhr ausgelöst, sondern von Seitenaufrufen. Bei jedem Besuch prüft WordPress, ob Aufgaben fällig sind.

Das hat zwei Nachteile:

  • Wenig Besucher: Aufgaben laufen verspätet oder gar nicht. Ein für 6 Uhr geplanter Beitrag erscheint erst mit dem ersten Seitenaufruf danach.
  • Viele Besucher: Die Prüfung läuft bei jedem Aufruf mit und kostet Leistung. Ein Seitencache kann außerdem verhindern, dass WP-Cron überhaupt ausgelöst wird.

Die Lösung ist ein echter Cronjob. Dazu schalten Sie den eingebauten Auslöser in der Datei wp-config.php ab:

define('DISABLE_WP_CRON', true);

Anschließend ruft ein Cronjob des Servers die Datei wp-cron.php regelmäßig auf, zum Beispiel alle fünf Minuten:

*/5 * * * * wget -q -O /dev/null "https://www.example.com/wp-cron.php?doing_wp_cron"

Solche Einstellungen gehören zu unserer Arbeit im WordPress-SEO.

Fehlersuche: Warum läuft mein Cronjob nicht?

Wenn ein Cronjob nicht oder anders als erwartet läuft, liegt es fast immer an einer dieser Ursachen:

  1. Fehlende Pfade: Cron kennt nur wenige Verzeichnisse. Schreiben Sie Programme mit vollständigem Pfad, also /usr/bin/php statt php, und verwenden Sie auch im Skript keine relativen Pfade.
  2. Fehlende Rechte: Das Skript muss für den Benutzer der Crontab ausführbar sein, und er muss in die Zielverzeichnisse schreiben dürfen.
  3. Falsche Zeitzone: Cron richtet sich nach der Uhr des Servers. Steht sie auf UTC, läuft eine für 8 Uhr geplante Aufgabe in Deutschland um 9 oder 10 Uhr.
  4. Das Prozentzeichen: In der Crontab steht % für einen Zeilenumbruch. In Befehlen wie date +%F muss es mit einem Rückstrich geschrieben werden: \%.
  5. Fehlender Zeilenumbruch am Ende: Die letzte Zeile muss mit einem Zeilenumbruch enden. Fehlt er, ignorieren manche Versionen von Cron die Zeile oder weisen die Crontab zurück.
  6. Keine Ausgabe: Ohne Umleitung gehen Fehlermeldungen verloren oder landen in einem Postfach, das niemand liest. Leiten Sie die Ausgabe in eine Datei um: >> /var/log/aufgabe.log 2>&1.
  7. Überlappende Läufe: Dauert eine Aufgabe länger als ihr Abstand, laufen mehrere Kopien gleichzeitig. Das Programm flock verhindert das.

Ob Cron die Aufgabe überhaupt gestartet hat, zeigt das Systemprotokoll. Je nach System hilft grep CRON /var/log/syslog oder journalctl -u cron. Ob der Dienst läuft, zeigt systemctl status cron, auf manchen Systemen heißt er crond.

Alternativen zu Cron

Cron ist seit Jahrzehnten der Standard, aber nicht in jedem Fall die beste Wahl:

  • systemd-Timer: auf modernen Linux-Systemen vorhanden. Sie können verpasste Läufe nachholen, Aufgaben voneinander abhängig machen und protokollieren von selbst.
  • anacron: für Rechner, die nicht durchgehend laufen. Verpasste tägliche oder wöchentliche Aufgaben werden nachgeholt.
  • Windows-Aufgabenplanung: das Gegenstück auf Windows-Servern.
  • Dienste in der Cloud: etwa Cloud Scheduler bei Google, EventBridge bei AWS oder CronJobs in Kubernetes. Sie verwenden dieselbe oder eine sehr ähnliche Schreibweise. EventBridge etwa arbeitet mit sechs Feldern, das sechste steht für das Jahr.
  • Externe Cron-Dienste: rufen in festen Abständen eine Adresse Ihrer Website auf. Sinnvoll, wenn das Hosting keine eigenen Cronjobs erlaubt.

Die Cron-Schreibweise begegnet Ihnen auch außerhalb von Servern, etwa bei geplanten Abläufen in GitHub Actions oder bei geplanten Abfragen in Datenbanken. Wer die fünf Felder einmal verstanden hat, kann sie überall lesen.

Ihr Feed, Ihre Sitemap oder Ihre WordPress-Aufgaben laufen nicht zuverlässig? Dann kontaktieren Sie uns gerne oder lesen Sie mehr über unser technisches SEO!

 Häufige Fragen 

Cronjob: die wichtigsten Fragen

Was ist ein Cronjob einfach erklärt?

Ein Cronjob ist eine Aufgabe, die ein Server automatisch nach Zeitplan ausführt, zum Beispiel jede Nacht eine Datensicherung. Der Zeitplan steht in einer Tabelle, der Crontab, und wird vom Dienst Cron einmal pro Minute geprüft.

Was bedeutet * * * * * bei Cron?

Die fünf Sterne stehen für Minute, Stunde, Tag im Monat, Monat und Wochentag. Ein Stern bedeutet „jeder Wert“. Fünf Sterne bedeuten also: Die Aufgabe läuft jede Minute.

Was ist der Unterschied zwischen Cron, Crontab und Cronjob?

Cron ist der Dienst, der die Aufgaben startet. Die Crontab ist die Tabelle, in der die Aufgaben mit ihrem Zeitplan stehen. Ein Cronjob ist eine einzelne Aufgabe, also eine Zeile der Crontab.

Wie oft kann ein Cronjob laufen?

Höchstens einmal pro Minute. Für kürzere Abstände braucht es andere Werkzeuge, etwa einen dauerhaft laufenden Dienst oder einen systemd-Timer.

Gibt es Cronjobs auch unter Windows?

Cron selbst nicht. Windows nutzt für denselben Zweck die Aufgabenplanung. Im Windows-Subsystem für Linux lässt sich Cron jedoch verwenden.

Wie sehe ich, ob ein Cronjob gelaufen ist?

Im Systemprotokoll, je nach System mit grep CRON /var/log/syslog oder journalctl -u cron. Zusätzlich sollte jede Aufgabe ihre Ausgabe in eine eigene Protokolldatei schreiben.

Weitere Begriffe

 Erstgespräch anfragen 

Fragen zu diesem Thema?

Schreiben Sie uns kurz, worum es geht. Sie sprechen direkt mit Ralph Grundmann.
Microsoft Partner Badge
Sistrix-zertifizierte Agentur
4,9
Basierend auf 33 Rezensionen
Erstgespräch anfragen
Ralph Grundmann
Ralph GrundmannGründer und GeschäftsführerAnrufen: 0228 243 313 53

* Pflichtangabe

Bitte geben Sie Ihren Namen ein.

Bitte geben Sie eine gültige E-Mail-Adresse ein, z. B. name@firma.de.

Für einen Rückruf.

Bitte geben Sie Ihre Nummer mit Vorwahl ein, z. B. 0228 243 313 53 oder +49 228 243 313 53.

Bitte schreiben Sie uns kurz, worum es geht.

Kostenlos und unverbindlich. Antwort in der Regel innerhalb von 24 Stunden an Werktagen.

Informationen zur Verarbeitung Ihrer Daten: Datenschutzerklärung