Cron Expression Generator
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.
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.
| 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 |
*– 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
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
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
Tipps für Anfänger
- Testen: Erst mit
* * * * *prüfen, ob der Job läuft - Absolute Pfade:
/usr/bin/backup.shstattbackup.sh - Logging:
>> /var/log/backup.log 2>&1anhängen - Umgebung: Cron hat minimale Umgebungsvariablen!
- Zeitzone: Cron nutzt System-Zeitzone, nicht UTC
- MAILTO: Bei Fehler E-Mail an Admin senden
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.
Monitoring alle 5 Minuten
Server-Status prüfen und bei Problemen Alarm auslösen.
Log-Rotation wöchentlich
Jeden Sonntag um Mitternacht alte Logs archivieren und löschen.
Report am Monatsersten
Am 1. jedes Monats um 9 Uhr einen Report per E-Mail senden.
Updates Werktags um 4 Uhr
Montag bis Freitag automatisch Sicherheitsupdates installieren.
Alle 15 Minuten Cache leeren
Für Webanwendungen: Regelmäßig Cache aufräumen.
4. Geschichte von Cron
Von den ersten Unix-Systemen bis zu Kubernetes CronJobs.
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.
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.
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.
Cron in Linux
Cron wird fester Bestandteil aller Linux-Distributionen. crontab -e und crontab -l werden zu Standardbefehlen für Systemadministratoren weltweit.
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.
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.
Ü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
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.shstattbackup.sh. - Kein ausführbarer Befehl:
chmod +x backup.shsetzen und im Skript die richtige Shebang (#!/bin/bash) verwenden. - Kein Log: Hänge
>> /var/log/backup.log 2>&1an 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.
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!
Das Sternchen (*) ist das Universal-Zeichen in Cron und bedeutet: "jeder mögliche Wert".
| Ausdruck | Bedeutung |
|---|---|
* in Minute | Jede Minute (0-59) |
* in Stunde | Jede Stunde (0-23) |
* in Tag | Jeden Tag (1-31) |
* in Monat | Jeden Monat (1-12) |
* in Wochentag | Jeden 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.
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/30fü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).
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
OnCalendarundPersistent=truelö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!
Beide planen Aufgaben, aber systemd-Timer sind moderner:
| Feature | Cron | systemd-Timer |
|---|---|---|
| Format | 5-Felder-Text | OnCalendar= |
| Sekunden | Nein | Ja |
| Logging | Syslog/Mail | journalctl |
| Abhängigkeiten | Nein | Ja (Requires=) |
| Verpasste Runs | Nein | Persistent=true |
| Ressourcen-Limits | Nein | Ja |
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.
Cron loggt je nach System an verschiedene Stellen:
- Debian/Ubuntu:
/var/log/syslog– filtere mitgrep CRON /var/log/syslog - RHEL/CentOS:
/var/log/cron - Systemd:
journalctl -u cronoderjournalctl -u crond
Eigene Logs: Hänge an deinen Befehl an:
>> /var/log/mein-job.log 2>&1– stdout und stderr in DateiMAILTO="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.
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 UhrjobTemplate: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
Unix-Zeitstempel in lesbare Daten umwandeln und umgekehrt.
Zum ToolErstelle Barcodes in 12+ Formaten mit Live-Vorschau und Download.
Zum ToolMD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.
Zum ToolGeneriere UUIDs v1, v4, v5 und v7 für deine Anwendungen.
Zum Tool