Crontab Generator FAQ

Generate cron expressions visually

Co oznacza każde pole w wyrażeniu cron?

Cron używa 5 pól: minuta (0-59), godzina (0-23), dzień miesiąca (1-31), miesiąc (1-12) i dzień tygodnia (0-6, niedziela=0). Na przykład '30 14 * * 5' uruchamia się o 14:30 w każdy piątek. Użyj * dla 'każdej wartości', zakresów jak 1-5, list jak 1,15 lub kroków jak */10.

Dlaczego moje zadanie cron się nie uruchamia?

Typowe problemy: 1) Demon cron nie działa (sprawdź za pomocą 'systemctl status cron'), 2) Zły crontab użytkownika (użyj 'crontab -l' do weryfikacji), 3) Różnice środowiska/PATH (używaj ścieżek bezwzględnych), 4) Błędy składni w wyrażeniu, 5) Brak przekierowania wyjścia (dodaj '>> /var/log/job.log 2>&1', aby zobaczyć błędy). Sprawdź logi systemowe za pomocą 'journalctl -u cron'.

Jak uruchomić zadanie cron co 5 minut?

Użyj '*/5 * * * *'. */5 w polu minut oznacza 'co 5 minut' (uruchamia się o :00, :05, :10, :15 itd.). Podobnie */10 uruchamia się co 10 minut, */15 co 15 minut i tak dalej.

Czy mogę uruchamiać zadania cron tylko podczas godzin pracy?

Tak. Dla dni roboczych 9:00 do 17:00 co godzinę: '0 9-17 * * 1-5'. Dla co 15 minut podczas godzin pracy: '*/15 9-17 * * 1-5'. Zakres godzin 9-17 i zakres dni tygodnia 1-5 (poniedziałek-piątek) ograniczają wykonanie do godzin pracy.

Jak debugować zadanie cron, które zawodzi?

1) Dodaj przekierowanie wyjścia: 'polecenie >> /tmp/debug.log 2>&1', 2) Sprawdź plik logu pod kątem błędów, 3) Uruchom dokładne polecenie ręcznie do testów, 4) Sprawdź, czy demon cron działa, 5) Sprawdź logi systemowe (journalctl -u cron), 6) Upewnij się, że używasz ścieżek bezwzględnych dla poleceń i plików, 7) Testuj środowisko za pomocą '* * * * * env > /tmp/cron-env.txt', aby zobaczyć, co jest dostępne.

Jaka jest różnica między dniem miesiąca a dniem tygodnia?

Gdy oba pola są określone (nie *), cron używa logiki LUB. '0 0 13 * 5' uruchamia się '13. LUB w piątek', nie 'w piątek 13.'. Jeśli chcesz tylko piątki, użyj '0 0 * * 5'. Jeśli chcesz tylko 13., użyj '0 0 13 * *'. Aby uzyskać złożoną logikę dni, użyj skryptu, który sprawdza datę.

Wypróbuj Narzędzie

Generate cron expressions visually

Crontab Generator