Разбор cron-выражений
Переведите crontab на понятный язык и узнайте ближайшие запуски.
- Мгновенно
- Бесплатно
- Приватно (обработка локально)
- Без регистрации
Больше никаких сомнительных crontab в проде
Одно неверно прочитанное cron-выражение — и ваш бэкап выполняется каждый день в полночь вместо раза в месяц, или, хуже, никогда. Вставьте выражение: инструмент переведёт его на понятный язык, разберёт каждое поле и вычислит ближайшие 5 реальных дат запуска для проверки замысла.
Синтаксис cron в одной таблице
| Поле | Диапазон | Примеры |
|---|---|---|
| Минута | 0–59 | 0, */15, 30 |
| Час | 0–23 | 9, 9-17, */6 |
| День месяца | 1–31 | 1, 1,15, 10-20 |
| Месяц | 1–12 или JAN–DEC | 6, JAN, 3-5 |
| День недели | 0–7 или SUN–SAT | 1-5, 0, MON |
Ходовые рецепты
- */15 * * * * — каждые 15 минут (мониторинг, очереди).
- 30 9 * * 1-5 — в 09:30 с понедельника по пятницу (ежедневный отчёт).
- 0 0 1 * * — 1-го числа каждого месяца в полночь (биллинг).
- 0 */6 * * * — каждые 6 часов (синхронизация).
- 0 3 * * 0 — по воскресеньям в 3:00 (еженедельное обслуживание).
Ловушка №1: день месяца и день недели, заданные вместе, объединяются через ИЛИ. И помните: сервер часто работает в UTC, а не в вашем локальном поясе.
Частые вопросы
Что означают 5 полей cron-выражения?
По порядку: минута (0-59), час (0-23), день месяца (1-31), месяц (1-12 или JAN-DEC), день недели (0-7 или SUN-SAT, 0 и 7 = воскресенье). Каждое поле принимает *, значения, диапазоны (1-5), шаги (*/15) и списки (1,15).
Как запускать задачу каждые 5 минут?
*/5 * * * * — шаг */5 в поле минут означает «каждые 5 минут», в любой час, каждый день.
Что будет, если заданы И день месяца, И день недели?
Классическая ловушка cron: условия объединяются через ИЛИ, а не через И. «0 0 13 * 5» выполняется 13-го числа каждого месяца И также каждую пятницу — не только в пятницу 13-го. Инструмент применяет и показывает эту семантику.
Учитывают ли ближайшие запуски мой часовой пояс?
Да, они вычисляются в часовом поясе вашего браузера. Внимание: на сервере cron использует пояс сервера (часто UTC) — проверьте настройку.
А сокращения @daily, @hourly?
Это нестандартные алиасы: @hourly = «0 * * * *», @daily = «0 0 * * *», @weekly = «0 0 * * 0», @monthly = «0 0 1 * *», @yearly = «0 0 1 1 *». Введите эквивалентную форму из 5 полей для анализа здесь.