Crontab-Generator

Wählen Sie eine Vorlage oder tippen Sie eine Crontab-Zeile ein. Das Tool erklärt jedes der fünf Felder, sagt in einfachen Worten, wann der Job läuft, und listet die nächsten Ausführungen auf, sodass Sie einen Zeitplan prüfen können, bevor er auf einen Server kommt.

Häufige Zeitpläne
Jedes Feld bearbeiten
Wann der Job läuft Alle 15 Minuten, jeden Tag.

Cron-Jobs brauchen einen Server, der immer läuft. Ein kleiner VPS führt Backups, Berichte und Skripte rund um die Uhr aus. Heute ab 3,02 € im Monat (Auswahl: 2.226 Server).

Ihre Crontab-Zeile

Führen Sie auf dem Server crontab -e aus, fügen Sie die Zeile mit Ihrem eigenen Befehl ein und speichern Sie. crontab -l listet Ihre Jobs auf.

crontab -e
*/15 * * * * /path/to/script.sh >> /var/log/job.log 2>&1
FeldWertTrifft zu auf
Minute*/150, 15, 30 und 45
Stunde*jeden Wert
Tag des Monats*jeden Wert
Monat*jeden Wert
Wochentag*jeden Wert

Läuft in Ihrem Browser: Nichts, was Sie eingeben, wird irgendwohin gesendet.

So wird gerechnet

Eine Crontab-Zeile beginnt mit fünf durch Leerzeichen getrennten Feldern, gefolgt vom auszuführenden Befehl. Cron prüft sie jede Minute und führt den Befehl aus, wenn Minute, Stunde, Tag des Monats, Monat und Wochentag alle passen.

┌─ Minute
│ ┌─ Stunde
│ │ ┌─ Tag des Monats
│ │ │ ┌─ Monat
│ │ │ │ ┌─ Wochentag
* * * * * /path/to/command

Die beiden Tagesfelder verbinden sich auf eine Weise, die viele überrascht: Sind beide eingeschränkt, läuft der Job, wenn eines von beiden passt. 0 0 13 * 5 läuft an jedem 13. und an jedem Freitag, nicht nur an Freitag, dem 13. Beginnt eines der beiden mit *, müssen beide passen.

Die fünf Felder

FeldErlaubte Werte
Minute0–59
Stunde0–23
Tag des Monats1–31
Monat1–12 oder JAN–DEC
Wochentag0–7 oder SUN–SAT (0 und 7 sind Sonntag)

Sonderzeichen

  • * passt auf jeden Wert des Feldes.
  • , listet Werte auf: 1,15 ist der 1. und der 15.
  • - ist ein Bereich: 1-5 ist im Wochentagsfeld Montag bis Freitag.
  • / ist eine Schrittweite: */10 ist jeder zehnte Wert, 5/10 jeder zehnte ab 5, 9-17/2 jede zweite Stunde von 9 bis 17.
  • @hourly, @daily, @weekly, @monthly und @yearly ersetzen alle fünf Felder; @reboot läuft einmal, wenn der Server startet.

Beispiel

30 2 * * 1-5 läuft um 02:30 von Montag bis Freitag: Minute 30, Stunde 2, jeder Tag des Monats, jeder Monat und die Wochentage 1 bis 5. In der Crontab als 30 2 * * 1-5 /usr/local/bin/backup.sh geschrieben, startet es in jeder Nacht unter der Woche ein Backup.

Fragen

Was bedeutet */5 in Cron?

Jeden fünften Wert des Feldes. Im Minutenfeld führt */5 den Job in Minute 0, 5, 10 und so weiter bis 55 aus: alle fünf Minuten. */15 ist jede Viertelstunde, und */2 im Stundenfeld ist jede zweite Stunde ab Mitternacht.

Wie füge ich einen Cronjob auf einem Linux-Server hinzu?

Führen Sie crontab -e als der Benutzer aus, unter dem der Job laufen soll, fügen Sie eine Zeile mit den fünf Feldern und dem Befehl hinzu, speichern Sie und schließen Sie den Editor. crontab -l zeigt die Jobs, und systemweite Jobs gehören in eine Datei in /etc/cron.d, mit dem Benutzernamen nach den fünf Feldern.

Welche Zeitzone verwendet Cron?

Die des Servers selbst, auf einem VPS meist UTC. 0 3 * * * läuft auf einem UTC-Server im Winter um 04:00 und im Sommer um 05:00 Uhr in Berlin. Manche Cron-Varianten, etwa cronie, akzeptieren eine Zeile CRON_TZ= über den Jobs; sonst rechnen Sie die Zeit selbst um.

Soll ich Cron oder einen systemd-Timer verwenden?

Cron ist einfacher und funktioniert überall. Ein systemd-Timer braucht zwei kleine Dateien, protokolliert aber jeden Lauf im Journal, kann Läufe nachholen, die verpasst wurden, während der Server aus war (Persistent=true), und verhindert, dass zwei Kopien desselben Jobs gleichzeitig laufen.