Crontab Generator FAQ
Generate cron expressions visually
Was bedeutet jedes Feld in einem Cron-Ausdruck?
Cron verwendet 5 Felder: Minute (0-59), Stunde (0-23), Tag des Monats (1-31), Monat (1-12) und Wochentag (0-6, Sonntag=0). Zum Beispiel läuft '30 14 * * 5' um 14:30 Uhr jeden Freitag. Verwenden Sie * für 'jeden Wert', Bereiche wie 1-5, Listen wie 1,15 oder Schritte wie */10.
Warum läuft mein Cron-Job nicht?
Häufige Probleme: 1) Cron-Daemon läuft nicht (überprüfen Sie mit 'systemctl status cron'), 2) Falsche Crontab des Benutzers (verwenden Sie 'crontab -l' zur Überprüfung), 3) Umgebungs-/PATH-Unterschiede (verwenden Sie absolute Pfade), 4) Syntaxfehler im Ausdruck, 5) Keine Ausgabeumleitung (fügen Sie '>> /var/log/job.log 2>&1' hinzu, um Fehler zu sehen). Überprüfen Sie Systemprotokolle mit 'journalctl -u cron'.
Wie führe ich einen Cron-Job alle 5 Minuten aus?
Verwenden Sie '*/5 * * * *'. Das */5 im Minutenfeld bedeutet 'alle 5 Minuten' (läuft um :00, :05, :10, :15 usw.). Ähnlich läuft */10 alle 10 Minuten, */15 alle 15 Minuten und so weiter.
Kann ich Cron-Jobs nur während der Geschäftszeiten ausführen?
Ja. Für Wochentage 9 Uhr bis 17 Uhr stündlich: '0 9-17 * * 1-5'. Für alle 15 Minuten während der Geschäftszeiten: '*/15 9-17 * * 1-5'. Der Stundenbereich 9-17 und Wochentagsbereich 1-5 (Montag-Freitag) beschränken die Ausführung auf Geschäftszeiten.
Wie debugge ich einen Cron-Job, der fehlschlägt?
1) Fügen Sie Ausgabeumleitung hinzu: 'befehl >> /tmp/debug.log 2>&1', 2) Überprüfen Sie die Protokolldatei auf Fehler, 3) Führen Sie den genauen Befehl manuell zum Testen aus, 4) Überprüfen Sie, dass der Cron-Daemon läuft, 5) Überprüfen Sie Systemprotokolle (journalctl -u cron), 6) Stellen Sie sicher, dass Sie absolute Pfade für Befehle und Dateien verwenden, 7) Testen Sie die Umgebung mit '* * * * * env > /tmp/cron-env.txt', um zu sehen, was verfügbar ist.
Was ist der Unterschied zwischen Tag des Monats und Wochentag?
Wenn beide Felder angegeben sind (nicht *), verwendet Cron ODER-Logik. '0 0 13 * 5' läuft 'am 13. ODER am Freitag', nicht 'am Freitag, dem 13.'. Wenn Sie nur Freitage möchten, verwenden Sie '0 0 * * 5'. Wenn Sie nur den 13. möchten, verwenden Sie '0 0 13 * *'. Um komplexe Tageslogik zu erhalten, verwenden Sie ein Skript, das das Datum prüft.
Anleitung
Generate cron expressions visually
Cron-Syntax erklärt
Die Fünf-Feld-Syntax von Cron ist täuschend einfach, aber unglaublich mächtig. Dieser Leitfaden zerlegt jedes Feld, jedes Sonderzeichen und die Regeln, die bestimmen, wie sie kombiniert werden, um Zeitpläne von 'jede Minute' bis 'zweiter Dienstag ungerader Monate um 3:47 Uhr' zu erstellen.