DevToolPal
UK

Cron-вираз

Кожні 15 хвилин у робочий час

Запускається кожні 15 хвилин з 09:00 до 17:45 у будні.

*/15 9-17 * * 1-5 Відкрити в парсері cron-виразів

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

Поле Значення Відповідає
Хвилина */15 0, 15, 30, 45
Година 9-17 9, 10, 11, 12, …, 17
День місяця * Будь-яке значення
Місяць * Будь-яке значення
День тижня 1-5 понеділок, вівторок, середа, четвер і пʼятниця

Найближчі запуски

Приклад: перші 6 запусків після 1 січня 2026 р. (UTC).

  1. чт, 1 січ. 2026 р., 09:00
  2. чт, 1 січ. 2026 р., 09:15
  3. чт, 1 січ. 2026 р., 09:30
  4. чт, 1 січ. 2026 р., 09:45
  5. чт, 1 січ. 2026 р., 10:00
  6. чт, 1 січ. 2026 р., 10:15

Готові варіанти

crontab
*/15 9-17 * * 1-5 /path/to/command

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

Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-15-minutes-during-business-hours
spec:
  schedule: "*/15 9-17 * * 1-5"
  timeZone: "Etc/UTC"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: job
              image: busybox:1.36
              command: ["/bin/sh", "-c", "date; echo run"]

Задайте spec.timeZone (Kubernetes 1.27+); без нього розклад іде за часовим поясом controller manager, зазвичай UTC.

GitHub Actions
on:
  schedule:
    - cron: '*/15 9-17 * * 1-5'
  workflow_dispatch:

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

Quartz
0 */15 9-17 ? * MON-FRI

У Quartz секунди стоять першими, а в дні місяця чи дні тижня потрібен знак ?. Дні тижня мають номери 1–7 від неділі, тож надійніше писати назви.

Spring
@Scheduled(cron = "0 */15 9-17 * * MON-FRI")

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

Часті запитання

› Як зупинитися рівно о 17:00?

Одним рядком cron не може закінчити посеред години. Використовуйте */15 9-16 * * 1-5 і другий рядок 0 17 * * 1-5.

› У якому часовому поясі виконується */15 9-17 * * 1-5?

Cron використовує часовий пояс машини чи сервісу, що його запускає. У Linux це системний пояс, якщо не задано CRON_TZ або TZ; CronJob у Kubernetes підтримує spec.timeZone; GitHub Actions завжди працює в UTC.

› Як перевірити розклад перед розгортанням?

Відкрийте */15 9-17 * * 1-5 у парсері cron-виразів на цьому сайті. Він пояснить кожне поле й покаже найближчі запуски за місцевим часом або в UTC просто в браузері.