DevToolPal
PL

Wyrażenie cron

Co 30 sekund

Cron nie planuje poniżej minuty, więc zwykle stosuje się dwa wiersze crontab: jeden startuje na początku każdej minuty, drugi najpierw czeka 30 sekund.

* * * * * Otwórz w parserze wyrażeń cron

Standardowy cron nie ma pola sekund. Dwa wiersze dają dwa uruchomienia na minutę; Quartz i Spring obsługują sekundy bezpośrednio. Kubernetes i GitHub Actions nie uruchomią zadań tak często.

Pole po polu

Pole Wartość Pasuje do
Minuta * Każda wartość
Godzina * Każda wartość
Dzień miesiąca * Każda wartość
Miesiąc * Każda wartość
Dzień tygodnia * Każda wartość

Najbliższe uruchomienia

Przykład: pierwsze 6 uruchomień po 1 stycznia 2026 (UTC).

  1. czw., 1 sty 2026, 00:01:00
  2. czw., 1 sty 2026, 00:01:30
  3. czw., 1 sty 2026, 00:02:00
  4. czw., 1 sty 2026, 00:02:30
  5. czw., 1 sty 2026, 00:03:00
  6. czw., 1 sty 2026, 00:03:30

Gotowe wersje

crontab
* * * * * /path/to/command
* * * * * sleep 30; /path/to/command

Dodaj wiersz przez crontab -e. Działa w strefie czasowej serwera, chyba że ustawiono CRON_TZ lub TZ.

Kubernetes CronJob: Tego harmonogramu nie da się uruchomić w tym narzędziu.

GitHub Actions: Tego harmonogramu nie da się uruchomić w tym narzędziu.

GitHub Actions zawsze używa UTC, akceptuje odstępy od 5 minut i przy dużym obciążeniu może uruchamiać zadania z opóźnieniem.

Quartz
0/30 * * * * ?

Quartz ma sekundy na początku i wymaga ? w dniu miesiąca lub dniu tygodnia. Dni mają numery 1–7 od niedzieli, więc bezpieczniej używać nazw.

Spring
@Scheduled(cron = "*/30 * * * * *")

Spring @Scheduled(cron = …) przyjmuje sześć pól: sekundy i zwykłe pięć.

FAQ

› Czy istnieje wyrażenie cron co 30 sekund?

Nie w standardowym cronie z pięcioma polami. Użyj dwóch wierszy crontab (jeden ze sleep 30), timera systemd z OnUnitActiveSec=30s albo Quartz 0/30 * * * * ?.

› W jakiej strefie czasowej działa * * * * *?

Cron używa strefy czasowej maszyny lub usługi, która go uruchamia. W Linuksie to strefa systemowa, chyba że ustawiono CRON_TZ lub TZ; CronJoby w Kubernetes obsługują spec.timeZone; GitHub Actions zawsze używa UTC.

› Jak sprawdzić harmonogram przed wdrożeniem?

Otwórz * * * * * w parserze wyrażeń cron w tym serwisie. Objaśni każde pole i pokaże najbliższe uruchomienia w czasie lokalnym lub UTC, bezpośrednio w przeglądarce.