Генератор і пояснення cron-виразів

Зберіть розклад crontab кліками або вставте готовий. Ви отримаєте зрозумілий опис, перевірку кожного поля та 10 найближчих запусків у вашому часовому поясі.

Працює в браузеріБез реєстраціїНічого не завантажується

хвилинагодинадень (місяця)місяцьдень (тижня)

Візуальний конструктор

Наступні 10 запусків

    Як користуватися: Генератор cron-виразів

    1. Введіть cron-вираз, наприклад */15 * * * *, або виберіть шаблон.
    2. Прочитайте опис, щоб переконатися, що розклад робить те, що потрібно. Некоректні поля підсвічуються із зазначенням причини.
    3. Використовуйте вкладки Візуального конструктора, щоб задати хвилину, годину, день місяця, місяць і день тижня в режимах Щохвилини/щогодини/…, Крок N, Вибір або Діапазон.
    4. Перевірте 10 найближчих запусків і виберіть часовий пояс сервера, якщо він відрізняється від вашого.
    5. Скопіюйте вираз у crontab, Kubernetes CronJob, schedule у GitHub Actions або конфіг CI.

    Синтаксис cron за хвилину

    Стандартний cron-вираз складається з п'яти полів, розділених пробілами:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    СимволЗначенняПриклад
    *будь-яке значення* * * * * щохвилини
    ,список0 9,17 * * * о 09:00 і 17:00
    -діапазон0 9 * * 1-5 у будні о 09:00
    /крок*/10 * * * * кожні 10 хвилин
    @dailyмакросте саме, що 0 0 * * *; також @hourly, @weekly, @monthly, @yearly, @reboot

    Пастка «день місяця / день тижня»

    Коли обмежено обидва поля днів (жодне не починається з *), cron запускає завдання, коли збігається будь-яке з них. Тому 0 0 13 * 5 спрацює кожного 13-го числа і щоп'ятниці, а не лише в п'ятницю 13-го. Генератор дотримується цього правила Vixie cron, а в описі стоїть «або», щоб ви це помітили.

    Часові пояси й перехід на літній час

    Cron використовує локальний часовий пояс сервера, якщо не налаштовано інакше (CRON_TZ= у деяких реалізаціях cron, timeZone у Kubernetes CronJob; GitHub Actions завжди використовує UTC). Виберіть цей пояс у перегляді запусків. Завдання, що потрапляють у «пропуск» переходу на літній час (наприклад, 02:30 у ніч переведення годинника вперед), у перегляді пропускаються, бо такого місцевого часу не існує.

    Популярні розклади

    • */5 * * * *: кожні 5 хвилин
    • 0 */2 * * *: кожні 2 години, рівно на початку години
    • 0 9 * * 1-5: о 09:00 у будні
    • 0 0 1 * *: опівночі першого числа кожного місяця
    • 0 3 * * 0: о 03:00 щонеділі, типове вікно для бекапу

    Поширені запитання

    Як запускати cron-завдання кожні 5 хвилин?
    Використовуйте */5 * * * *. Крок /5 у полі хвилин означає кожну 5-ту хвилину, починаючи з 0: 00, 05, 10 і так далі.
    Чи підтримує cron секунди?
    Стандартний crontab — ні; найменша одиниця — одна хвилина. Quartz, Spring і деякі хмарні планувальники додають поле секунд (6 або 7 полів). Цей інструмент перевіряє стандартний формат із 5 полів і повідомляє, якщо бачить 6 полів.
    Неділя — це 0 чи 7?
    І те, й інше. У полі дня тижня 0 і 7 означають неділю; також можна писати назви на кшталт SUN або MON-FRI.
    Чому завдання запускається частіше, ніж очікувалося?
    Якщо ви обмежили і день місяця, і день тижня, cron запускається, коли збігається будь-який із них. Поставте в одному з полів *, щоб враховувалося лише інше.
    У якому часовому поясі показано найближчі запуски?
    За замовчуванням у часовому поясі вашого браузера. Виберіть пояс сервера (часто UTC) у списку, щоб побачити, коли саме завдання спрацює там.

    Схожі інструменти