DevToolPal
RU

Cron-выражение

Каждые 30 секунд

Cron не умеет запускать задания чаще раза в минуту, поэтому обычно пишут две строки crontab: одна срабатывает в начале минуты, другая сначала ждёт 30 секунд.

* * * * * Открыть в парсере cron-выражений

В стандартном cron нет поля секунд. Две строки дают два запуска в минуту; Quartz и Spring поддерживают секунды напрямую. Kubernetes и GitHub Actions не могут запускать задания так часто.

Разбор по полям

Поле Значение Совпадает с
Минута * Любое значение
Час * Любое значение
День месяца * Любое значение
Месяц * Любое значение
День недели * Любое значение

Ближайшие запуски

Пример: первые 6 запусков после 1 января 2026 г. (UTC).

  1. чт, 1 янв. 2026 г., 00:01:00
  2. чт, 1 янв. 2026 г., 00:01:30
  3. чт, 1 янв. 2026 г., 00:02:00
  4. чт, 1 янв. 2026 г., 00:02:30
  5. чт, 1 янв. 2026 г., 00:03:00
  6. чт, 1 янв. 2026 г., 00:03:30

Готовые варианты

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

Добавьте строку через crontab -e. Задание выполняется в часовом поясе сервера, если не заданы CRON_TZ или TZ.

Kubernetes CronJob: Этот планировщик не поддерживает такое расписание.

GitHub Actions: Этот планировщик не поддерживает такое расписание.

GitHub Actions всегда использует UTC, допускает интервал от 5 минут и при нагрузке может запускать задания с опозданием.

Quartz
0/30 * * * * ?

В Quartz секунды идут первыми, а в дне месяца или дне недели нужен знак ?. Дни недели нумеруются 1–7 с воскресенья, поэтому надёжнее писать названия.

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

Spring @Scheduled(cron = …) принимает шесть полей: секунды и затем обычные пять.

Частые вопросы

› Есть ли cron-выражение для запуска каждые 30 секунд?

В стандартном пятипольном cron нет. Используйте две строки crontab (одна со sleep 30), таймер systemd с OnUnitActiveSec=30s или Quartz 0/30 * * * * ?.

› В каком часовом поясе выполняется * * * * *?

Cron использует часовой пояс машины или сервиса, который его запускает. В Linux это системный пояс, если не заданы CRON_TZ или TZ; CronJob в Kubernetes поддерживает spec.timeZone; GitHub Actions всегда работает в UTC.

› Как проверить расписание перед развёртыванием?

Откройте * * * * * в парсере cron-выражений на этом сайте. Он объяснит каждое поле и покажет ближайшие запуски по местному времени или в UTC прямо в браузере.