Cron Expression Generator

DATEN-TOOL

Cron Expression Generator

Erstelle und verstehe Cron-Ausdrücke einfach. Mit Live-Vorschau, den nächsten Ausführungszeiten, Presets und Erklärungen – perfekt für Anfänger und Profis.

Live-Vorschau Nächste Runs Presets Einfach erklärt

Datenschutz-Garantie: Alle Berechnungen erfolgen zu 100% lokal in deinem Browser. Es werden keine Daten an Server gesendet. Perfekt für DevOps, Admins und Entwickler.

Inhaltsverzeichnis

Schnellübersicht

  • Cron Generator: 5-Felder-Cron-Ausdrücke visuell erstellen
  • Live-Vorschau: Cron-Ausdruck und Beschreibung sofort sehen
  • Nächste Ausführungen: Die nächsten 5 Termine berechnen
  • Presets: Häufige Zeitpläne mit einem Klick
  • Theorie: Was ist Cron? (Anfängerfreundlich)
  • Geschichte: Von Unix zu Kubernetes
  • FAQ: Spannende Fragen zu Cronjobs

1. Cron Expression Generator

Fülle die Felder aus oder wähle ein Preset – der Cron-Ausdruck wird sofort generiert.

0-59
0-23
1-31
1-12
0-6 (So=0)
Wird im crontab-Kommentar verwendet
Das auszuführende Kommando
Standard: min hour day month dow
Live-Vorschau
0 0 * * *
Täglich um Mitternacht
min hour day month weekday
5 Felder
OK Status
— Nächster Run
Nächste 5 Ausführungen
Bitte Cron-Ausdruck eingeben
Cron-Felder im Überblick
Feld Erlaubte Werte Sonderzeichen Beispiel Bedeutung
Minute 0-59 * , - / */5 Alle 5 Minuten
Stunde 0-23 * , - / 9-17 9 bis 17 Uhr
Tag 1-31 * , - / ? 1,15 1. und 15. des Monats
Monat 1-12 * , - / 1,7 Januar und Juli
Wochentag 0-6 (So=0) * , - / ? 1-5 Montag bis Freitag
Cron-Sonderzeichen einfach erklärt
  • * – Jeder Wert ("immer"). Beispiel: * * * * * = jede Minute.
  • , – Liste. Beispiel: 1,15 = am 1. und 15.
  • - – Bereich. Beispiel: 9-17 = von 9 bis 17 Uhr.
  • / – Schrittweite. Beispiel: */5 = alle 5 Einheiten.
  • ? – Beliebig (nur Tag/Wochentag). Alternative zu *.

2. Theorie – Cron einfach erklärt

Verstehe die Grundlagen von Cronjobs – ohne Vorkenntnisse.

Was ist Cron?

Cron ist ein Zeitplan-Dienst unter Unix/Linux. Er führt Befehle automatisch zu festgelegten Zeiten aus – wie ein Wecker für Programme.

  • Name: Von "Chronos" (griech. Zeit)
  • Datei: crontab (Cron Table)
  • Format: 5 Felder + Befehl
  • Läuft: Im Hintergrund als Daemon
0 3 * * * /usr/bin/backup.sh

Wofür braucht man Cron?

Fast jede IT-Aufgabe, die regelmäßig passieren soll:

  • Backups: Täglich um 3 Uhr nachts
  • Log-Rotation: Wöchentlich alte Logs löschen
  • Updates: System-Updates automatisch
  • Reports: Monatliche Statistiken versenden
  • Monitoring: Alle 5 Minuten Health-Check
  • Datenbanken: Regelmäßige Wartung
Automatisierung spart Zeit & verhindert Fehler

Wie funktioniert Cron?

Der Cron-Daemon liest regelmäßig die crontab-Datei und prüft, ob ein Job fällig ist:

  • 1. Prüfen: Jede Minute alle Jobs durchgehen
  • 2. Matchen: Passt aktuelles Datum zur Expression?
  • 3. Ausführen: Wenn ja, Befehl starten
  • 4. Loggen: Ergebnis in Syslog schreiben
Der Daemon tickt jede Minute und vergleicht

Tipps für Anfänger

  • Testen: Erst mit * * * * * prüfen, ob der Job läuft
  • Absolute Pfade: /usr/bin/backup.sh statt backup.sh
  • Logging: >> /var/log/backup.log 2>&1 anhängen
  • Umgebung: Cron hat minimale Umgebungsvariablen!
  • Zeitzone: Cron nutzt System-Zeitzone, nicht UTC
  • MAILTO: Bei Fehler E-Mail an Admin senden
crontab -e → bearbeiten, crontab -l → anzeigen

Wussten Sie schon? Der Name "Cron" leitet sich vom griechischen Wort "Chronos" (Zeit) ab. Der Cron-Daemon wurde 1975 von Brian Kernighan bei Bell Labs entwickelt – also noch vor dem ersten IBM PC! Bis heute hat sich das Grundkonzept kaum verändert: Eine einfache Textdatei mit Zeitplänen, die jede Minute geprüft wird. Deshalb funktioniert Cron auch heute noch in Kubernetes (CronJobs), Docker und allen Linux-Servern weltweit.

3. Cron-Anwendungsbeispiele

Typische Cronjobs, die in der Praxis täglich verwendet werden:

Backup täglich um 3 Uhr

Klassischer Fall: Nachts, wenn wenig los ist, Datenbank sichern.

0 3 * * * /usr/bin/backup.sh

Monitoring alle 5 Minuten

Server-Status prüfen und bei Problemen Alarm auslösen.

*/5 * * * * /usr/bin/check-server.sh

Log-Rotation wöchentlich

Jeden Sonntag um Mitternacht alte Logs archivieren und löschen.

0 0 * * 0 /usr/bin/logrotate.sh

Report am Monatsersten

Am 1. jedes Monats um 9 Uhr einen Report per E-Mail senden.

0 9 1 * * /usr/bin/send-report.sh

Updates Werktags um 4 Uhr

Montag bis Freitag automatisch Sicherheitsupdates installieren.

0 4 * * 1-5 /usr/bin/apt-update.sh

Alle 15 Minuten Cache leeren

Für Webanwendungen: Regelmäßig Cache aufräumen.

*/15 * * * * /usr/bin/clear-cache.sh

4. Geschichte von Cron

Von den ersten Unix-Systemen bis zu Kubernetes CronJobs.

1975

Cron wird erfunden

Brian Kernighan entwickelt bei Bell Labs den ersten Cron-Daemon für Unix Version 7. Ursprünglich als einfacher Zeitplaner für Systemaufgaben gedacht.

1979

crontab-Format

Das bis heute gültige 5-Felder-Format (Minute, Stunde, Tag, Monat, Wochentag) wird standardisiert. Die crontab-Datei wird zum festen Bestandteil jedes Unix-Systems.

1987

Vixie Cron

Paul Vixie entwickelt den Vixie Cron – die bis heute am weitesten verbreitete Cron-Implementierung. Sie wird zum Standard in den meisten Linux-Distributionen.

1990er

Cron in Linux

Cron wird fester Bestandteil aller Linux-Distributionen. crontab -e und crontab -l werden zu Standardbefehlen für Systemadministratoren weltweit.

2010

Cron in der Cloud

Cloud-Anbieter wie AWS (CloudWatch Events) und Google Cloud (Cloud Scheduler) integrieren Cron-Ausdrücke in ihre Dienste. Der gleiche Ausdruck funktioniert plattformübergreifend.

2016

Kubernetes CronJobs

Kubernetes führt CronJobs ein. Sie nutzen das gleiche 5-Felder-Format wie der klassische Unix-Cron – ein Beweis für die Zeitlosigkeit des Konzepts.

Heute

Überall im Einsatz

Cron ist aus der IT nicht mehr wegzudenken: Server, Container, CI/CD, Cloud, IoT – überall werden Aufgaben automatisch geplant. Schätzungsweise mehrere Milliarden Cronjobs laufen täglich weltweit.

5. FAQ – Spannende Fragen zu Cron

Häufige Fragen zu Cronjobs

Warum startet mein Cronjob einfach nicht?

Das ist die häufigste Frage überhaupt! Meistens liegt es an einem dieser Gründe:

  • Falsche Umgebung: Cron hat nur ein minimales PATH. Verwende absolute Pfade: /usr/bin/backup.sh statt backup.sh.
  • Kein ausführbarer Befehl: chmod +x backup.sh setzen und im Skript die richtige Shebang (#!/bin/bash) verwenden.
  • Kein Log: Hänge >> /var/log/backup.log 2>&1 an den Befehl, um Fehler zu sehen.
  • Falsche Zeit: Cron nutzt die System-Zeitzone, nicht UTC! Prüfe mit date.
  • Umgebungsvariablen fehlen: Setze sie direkt in der crontab: PATH=/usr/local/bin:/usr/bin:/bin.
  • Berechtigungen: Der Job läuft als der Nutzer, dem die crontab gehört.

Profi-Tipp: Teste den Befehl erst manuell als der gleiche Nutzer. Wenn er da klappt, liegt es fast immer an der Umgebung.

Wie teste ich einen Cronjob, ohne eine Stunde zu warten?

Es gibt einen klassischen Trick für ungeduldige Admins:

  • Schritt 1: Setze den Cronjob auf * * * * * (jede Minute) und warte 1-2 Minuten.
  • Schritt 2: Beobachte das Log oder die Ausgabe.
  • Schritt 3: Wenn alles klappt, stelle den echten Zeitplan ein.

Noch schneller: Verwende run-parts --test /etc/cron.minutely oder teste den Befehl direkt in der Shell.

Für Fortgeschrittene: Nutze systemd-run --on-calendar="*:0/1" für sekundengenaue Tests – oder unseren Cron Generator mit Live-Vorschau der nächsten Ausführungen!

Was bedeutet das Sternchen (*) genau?

Das Sternchen (*) ist das Universal-Zeichen in Cron und bedeutet: "jeder mögliche Wert".

AusdruckBedeutung
* in MinuteJede Minute (0-59)
* in StundeJede Stunde (0-23)
* in TagJeden Tag (1-31)
* in MonatJeden Monat (1-12)
* in WochentagJeden Wochentag (0-6)

Beispiel: * * * * * = "Jede Minute, jede Stunde, jeden Tag, jeden Monat, jeden Wochentag" → also einfach jede Minute.

Achtung: In machen Cron-Varianten (z.B. Quartz) wird ? statt * für "egal" verwendet – funktioniert aber genauso.

Kann ich Cronjobs auch mit Sekunden planen?

Standard-Cron kann keine Sekunden – die kleinste Einheit ist die Minute. Es gibt aber mehrere Lösungen:

  • Schlafen im Job: * * * * * sleep 30 && /usr/bin/job.sh – startet alle 30 Sekunden, weil der Job jede Minute startet und 30 Sekunden wartet.
  • Systemd-Timer: Moderne Linux-Systeme nutzen systemd mit OnCalendar=*:*:0/30 für sekundengenaue Planung.
  • Spezial-Cron: Manche Systeme unterstützen 6-Felder-Cron mit Sekunden als erstem Feld. Prüfe mit man 5 crontab.

Unser Tool unterstützt auch das erweiterte Format mit Sekunden (Format-Auswahl oben).

Was passiert, wenn mein Cronjob länger läuft als geplant?

Das ist ein klassisches Problem und kann zu unerwarteten Situationen führen:

  • Szenario: Job läuft alle 5 Minuten, braucht aber 10 Minuten.
  • Folge: Es laufen mehrere Instanzen parallel!

Lösungen:

  • Lock-Datei: flock -n /tmp/job.lock /usr/bin/job.sh – verhindert parallele Ausführung.
  • PID-Check: Im Skript prüfen, ob eine PID-Datei existiert.
  • systemd: Timer mit OnCalendar und Persistent=true lösen das Problem elegant.
  • Längeres Intervall: Wähle einen Abstand, der länger als die maximale Laufzeit ist.

Best Practice: Immer flock verwenden – besonders für Backups und Datenbank-Jobs!

Was ist der Unterschied zwischen Cron und systemd-Timern?

Beide planen Aufgaben, aber systemd-Timer sind moderner:

FeatureCronsystemd-Timer
Format5-Felder-TextOnCalendar=
SekundenNeinJa
LoggingSyslog/Mailjournalctl
AbhängigkeitenNeinJa (Requires=)
Verpasste RunsNeinPersistent=true
Ressourcen-LimitsNeinJa

Empfehlung:

  • Cron: Für einfache, regelmäßige Aufgaben
  • systemd-Timer: Für komplexe Jobs mit Abhängigkeiten und Monitoring

Fakt: Beide nutzen dasselbe Grundkonzept – Zeitplanung. Cron ist einfacher, systemd mächtiger.

Wo finde ich die Cron-Logs?

Cron loggt je nach System an verschiedene Stellen:

  • Debian/Ubuntu: /var/log/syslog – filtere mit grep CRON /var/log/syslog
  • RHEL/CentOS: /var/log/cron
  • Systemd: journalctl -u cron oder journalctl -u crond

Eigene Logs: Hänge an deinen Befehl an:

  • >> /var/log/mein-job.log 2>&1 – stdout und stderr in Datei
  • MAILTO="admin@example.com" – bei Fehler E-Mail senden

Tipp: Leite die Ausgabe immer in eine Datei um – so siehst du genau, was dein Job gemacht hat.

Kann ich Cron auch in Docker oder Kubernetes nutzen?

Ja, aber mit Einschränkungen. In Containern ist Cron nicht immer die beste Wahl:

  • Docker: Ein Container sollte einen Prozess haben. Cron im Container funktioniert, ist aber unüblich. Besser: Host-Cron startet Container per docker run.
  • Kubernetes: Nutze CronJobs – sie sind nativ für Kubernetes und nutzen das gleiche 5-Felder-Format.
  • Cloud: AWS CloudWatch, Google Cloud Scheduler, Azure Logic Apps – alle unterstützen Cron-Ausdrücke.

Beispiel Kubernetes CronJob:

  • schedule: "0 3 * * *" – täglich um 3 Uhr
  • jobTemplate: definiert, was ausgeführt wird

Fazit: Das 5-Felder-Format hat sich als universeller Standard durchgesetzt – von Unix bis Kubernetes.

Zusammenfassung

Die wichtigsten Punkte

  • Cron: Zeitplan-Dienst unter Unix/Linux
  • 5 Felder: Minute, Stunde, Tag, Monat, Wochentag
  • Sonderzeichen: * (jeder), , (Liste), - (Bereich), / (Schritt)
  • Pfade: Immer absolute Pfade verwenden
  • Logging: Ausgabe in Datei umleiten
  • Systemd-Timer: Moderne Alternative mit mehr Features
  • Kubernetes CronJobs: Gleiches Format, native Integration
  • Unser Tool: Live-Vorschau und nächste Ausführungen

Weitere Tools

Timestamp Converter

Unix-Zeitstempel in lesbare Daten umwandeln und umgekehrt.

Zum Tool
Barcode Generator

Erstelle Barcodes in 12+ Formaten mit Live-Vorschau und Download.

Zum Tool
Hash Generator

MD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.

Zum Tool
UUID Generator

Generiere UUIDs v1, v4, v5 und v7 für deine Anwendungen.

Zum Tool