Генератор Cron-выражений

Составьте расписание cron поле за полем, посмотрите, что оно означает на понятном языке, и скопируйте строку crontab — или выберите готовый пример, чтобы начать.

Каждые 5 минут.
Частые примеры

Мгновенное создание Cron-выражений

Задайте каждое поле — минуту, час, день месяца, месяц и день недели — и получите готовую строку crontab вместе с объяснением на понятном языке.

Всё выполняется прямо в вашем браузере — данные никуда не отправляются, а расписания не сохраняются.

Что такое Cron-выражение?

Cron-выражение — это шаблон из пяти полей, используемый в Unix-подобных системах для автоматического запуска команд в заданное время, дату или с определённым интервалом.

Каждое поле управляет своей единицей времени — минутой, часом, днём месяца, месяцем и днём недели — и вместе они точно определяют, когда должна выполняться задача.

Синтаксис полей Cron

Минута 0–59
Час 0–23
День месяца 1–31
Месяц 1–12
День недели 0–6 (0 = воскресенье)

Специальные символы

* Любое значение — соответствует всем возможным значениям этого поля
, Разделитель списка значений — например, 1,15 означает 1-е и 15-е число
- Диапазон значений — например, 1-5 означает с понедельника по пятницу
/ Шаговые значения — например, */15 означает каждые 15 единиц

Зачем использовать генератор Cron?

  • Избежать синтаксических ошибок, которые незаметно ломают запланированные задачи
  • Увидеть объяснение на понятном языке перед запуском расписания
  • Начать с готового примера, а не писать выражение с нуля
  • Получить готовую к вставке строку crontab с необязательной командой
  • Не требует установки или регистрации

Как составить Cron-выражение

  1. Задайте поля минуты, часа, дня, месяца и дня недели — или выберите готовый пример
  2. При необходимости добавьте команду, которую нужно выполнить
  3. Проверьте объяснение на понятном языке, чтобы убедиться, что расписание верное
  4. Скопируйте строку crontab и вставьте её в файл crontab

Рекомендации по использованию Cron

Предпочитайте конкретное время слишком частым расписаниям — запуск задачи каждую минуту, когда достаточно каждых 5 или 15 минут, впустую расходует ресурсы.

Если задача зависит и от дня месяца, и от дня недели, помните, что большинство реализаций cron объединяют эти поля через ИЛИ, а не через И.

Всегда записывайте вывод запланированных задач в лог (например, перенаправляя его в файл), чтобы сбои не остались незамеченными.

Типичные случаи использования

  • Автоматическое резервное копирование баз данных
  • Ротация логов и задачи очистки
  • Формирование отчётов по расписанию
  • Прогрев или инвалидация кэша
  • Отправка периодических почтовых дайджестов
  • Синхронизация данных между системами
  • Проверки состояния и мониторинг доступности
  • Обновление сертификатов или токенов

Часто задаваемые вопросы

В каком часовом поясе выполняется задача cron?

По умолчанию cron использует локальный часовой пояс системы. На некоторых платформах можно задать конкретный часовой пояс для отдельной задачи или для всего crontab — уточните это в документации вашей системы.

Могут ли cron-выражения включать секунды?

Стандартный Unix cron поддерживает только пять полей (от минут и выше), без поля секунд. Некоторые планировщики, например Quartz, поддерживают необязательное поле секунд, но это уже другой формат.

Что произойдёт, если задать одновременно день месяца и день недели?

Большинство реализаций cron запускают задачу, если выполняется хотя бы одно из условий (ИЛИ, а не И). Чтобы запускать задачу только в конкретную дату, которая также приходится на конкретный день недели, обычно требуется дополнительная логика в самом скрипте.

Как проверить cron-выражение перед использованием?

Проверьте объяснение на понятном языке, показанное здесь, чтобы убедиться, что оно соответствует вашему замыслу, а затем протестируйте его в реальной системе на коротком тестовом расписании, прежде чем полагаться на него в продакшене.

Что лучше использовать — cron или таймеры systemd?

Cron прост и работает повсеместно, что делает его идеальным для простых повторяющихся задач. Таймеры systemd предоставляют больше возможностей управления (зависимости, логирование, обработка пропущенных запусков) и хорошо подходят для систем, которые уже используют systemd.

ВЕРХ