Разбор 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 полей для анализа здесь.