DevToolPal
UK

Cron-вираз

Раз на пів року

Запускається о 00:00 1 січня та 1 липня.

0 0 1 1,7 * Відкрити в парсері cron-виразів

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

Поле Значення Відповідає
Хвилина 0 0
Година 0 0
День місяця 1 1
Місяць 1,7 січень і липень
День тижня * Будь-яке значення

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

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

  1. ср, 1 лип. 2026 р., 00:00
  2. пт, 1 січ. 2027 р., 00:00
  3. чт, 1 лип. 2027 р., 00:00
  4. сб, 1 січ. 2028 р., 00:00
  5. сб, 1 лип. 2028 р., 00:00
  6. пн, 1 січ. 2029 р., 00:00

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

crontab
0 0 1 1,7 * /path/to/command

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

Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-6-months
spec:
  schedule: "0 0 1 1,7 *"
  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: '0 0 1 1,7 *'
  workflow_dispatch:

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

Quartz
0 0 0 1 1,7 ?

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

Spring
@Scheduled(cron = "0 0 0 1 1,7 *")

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

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

› Можна написати */6 у полі місяця?

Можна, але місяці починаються з 1, тож */6 збігається із січнем і липнем — те саме, що 1,7.

› У якому часовому поясі виконується 0 0 1 1,7 *?

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

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

Відкрийте 0 0 1 1,7 * у парсері cron-виразів на цьому сайті. Він пояснить кожне поле й покаже найближчі запуски за місцевим часом або в UTC просто в браузері.