Мгновенное создание 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-выражение
- Задайте поля минуты, часа, дня, месяца и дня недели — или выберите готовый пример
- При необходимости добавьте команду, которую нужно выполнить
- Проверьте объяснение на понятном языке, чтобы убедиться, что расписание верное
- Скопируйте строку crontab и вставьте её в файл crontab
Рекомендации по использованию Cron
Предпочитайте конкретное время слишком частым расписаниям — запуск задачи каждую минуту, когда достаточно каждых 5 или 15 минут, впустую расходует ресурсы.
Если задача зависит и от дня месяца, и от дня недели, помните, что большинство реализаций cron объединяют эти поля через ИЛИ, а не через И.
Всегда записывайте вывод запланированных задач в лог (например, перенаправляя его в файл), чтобы сбои не остались незамеченными.
Типичные случаи использования
- Автоматическое резервное копирование баз данных
- Ротация логов и задачи очистки
- Формирование отчётов по расписанию
- Прогрев или инвалидация кэша
- Отправка периодических почтовых дайджестов
- Синхронизация данных между системами
- Проверки состояния и мониторинг доступности
- Обновление сертификатов или токенов
Часто задаваемые вопросы
В каком часовом поясе выполняется задача cron?
По умолчанию cron использует локальный часовой пояс системы. На некоторых платформах можно задать конкретный часовой пояс для отдельной задачи или для всего crontab — уточните это в документации вашей системы.
Могут ли cron-выражения включать секунды?
Стандартный Unix cron поддерживает только пять полей (от минут и выше), без поля секунд. Некоторые планировщики, например Quartz, поддерживают необязательное поле секунд, но это уже другой формат.
Что произойдёт, если задать одновременно день месяца и день недели?
Большинство реализаций cron запускают задачу, если выполняется хотя бы одно из условий (ИЛИ, а не И). Чтобы запускать задачу только в конкретную дату, которая также приходится на конкретный день недели, обычно требуется дополнительная логика в самом скрипте.
Как проверить cron-выражение перед использованием?
Проверьте объяснение на понятном языке, показанное здесь, чтобы убедиться, что оно соответствует вашему замыслу, а затем протестируйте его в реальной системе на коротком тестовом расписании, прежде чем полагаться на него в продакшене.
Что лучше использовать — cron или таймеры systemd?
Cron прост и работает повсеместно, что делает его идеальным для простых повторяющихся задач. Таймеры systemd предоставляют больше возможностей управления (зависимости, логирование, обработка пропущенных запусков) и хорошо подходят для систем, которые уже используют systemd.