cronjob guru
Самый простой способ создавать и понимать cron-выражения.
Что такое Cron-выражение?
Cron-выражения состоят из 5 полей, разделённых пробелами, которые используются для указания расписания выполнения задачи. Они широко используются в таких средах, как Unix/Linux, AWS, Kubernetes и других инструментах, позволяющих планировать и выполнять повторяющиеся задачи по вашему собственному расписанию.
| Поле | Допустимые Значения | Описание |
|---|---|---|
| Minute | 0-59 | Минута часа |
| Hour | 0-23 | Час дня (24-часовой формат) |
| Day of Month | 1-31 | День месяца |
| Month | 1-12 | Месяц года |
| Day of Week | 0-6 | День недели (0 — Воскресенье, 1 — Понедельник и т.д.) |
Вот некоторые распространённые случаи использования cron-выражений:
- Создание резервной копии базы данных каждую ночь в 2:30
- Запуск скрипта для проверки состояния серверов каждые 15 минут
- Отправка уведомления пользователям каждый день в 9:00
Специальные Символы
| Символ | Описание |
|---|---|
| * | Означает "все значения" Пример: Каждую минуту, каждый час |
| , | Используется для разделения нескольких значений Пример: "1,3,5" означает точно в 1, 3 и 5 |
| - | Используется для определения диапазонов Пример: "1-5" означает 1, 2, 3, 4, 5 |
| / | Каждая n-я единица Обычно используется для указания, например, каждых 15 минут, что записывается как */15 |
| L | "Последний День Месяца" Это значение можно использовать только в поле дня месяца (3-е поле). Внимание: Этот специальный символ может быть несовместим со всеми исполнителями cron. |
| -, | Комбинированное Использование Диапазона и Разделителя Вы можете использовать оператор диапазона и разделитель вместе. Выражение 1-5,9,11-12 раскрывается в 1,2,3,4,5,9,11,12 |
Распространённые Примеры
| Cron-выражение | Значение | |
|---|---|---|
| * * * * * | Каждую минуту | |
| 0 * * * * | Каждый час на 0-й минуте | |
| 0 0 * * * | Каждый день в полночь (00:00) | |
| 0 0 * * 0 | Каждое Воскресенье в полночь | |
| */15 * * * * | Каждые 15 минут | |
| 0 0 1 * * | В полночь первого числа каждого месяца | |
| 0 12 * * 1-5 | В полдень в будни (Понедельник-Пятница) |
Специальные Выражения
Некоторые реализации cron поддерживают специальные сокращённые выражения, упрощающие указание распространённых расписаний.
| Выражение | Эквивалент | Описание |
|---|---|---|
| @yearly | 0 0 1 1 * | Раз в год в полночь 1 Января |
| @monthly | 0 0 1 * * | Раз в месяц в полночь первого числа |
| @weekly | 0 0 * * 0 | Раз в неделю в полночь в Воскресенье |
| @daily | 0 0 * * * | Раз в день в полночь |
| @hourly | 0 * * * * | Раз в час в начале часа |
| @reboot | N/A | Выполнить один раз при запуске (работает, например, с crontab) |
Предупреждение о Совместимости
Эти специальные выражения могут быть несовместимы со всеми реализациями cron или системами планирования. Для максимальной совместимости рекомендуется использовать стандартные 5-польные cron-выражения вместо этих сокращений.

