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

Соберите расписание из пяти полей: сервис проверит синтаксис, объяснит его по-русски и покажет ближайшие запуски по Москве. Готовое выражение можно сразу вставить в crontab.

Cron-выражение
0 3 * * *

Ближайшие запуски по Москве

    Что такое cron

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

    Синтаксис: пять полей

    Стандартное выражение состоит из пяти полей, разделённых пробелами. Порядок всегда один и тот же — от самого частого к самому редкому.

    Поле Что задаёт Допустимые значения
    1Минуты0–59
    2Часы0–23
    3День месяца1–31
    4Месяц1–12 или jan–dec
    5День недели0–7, где 0 и 7 — воскресенье

    В каждом поле работают одни и те же конструкции:

    Примеры

    Выражение Когда запускается
    * * * * *каждую минуту
    */15 * * * *каждые 15 минут
    0 3 * * *каждый день в 03:00
    0 9 * * 1-5по будням в 09:00
    0 0 1 * *1-го числа каждого месяца в 00:00
    0 4 * * 0по воскресеньям в 04:00

    Cron на хостинге

    В панели управления задача добавляется строкой: расписание, затем команда. Для Laravel указывайте полный путь к artisan и явно вызывайте php8.3 — версия по умолчанию может отличаться.

    0 3 * * * php8.3 /home/USER/site.ru/artisan schedule:run >> /home/USER/cron.log 2>&1

    Лог лучше писать в файл, а не в /dev/null: иначе причину сбоя не увидеть. Если команда содержит %, в crontab его нужно экранировать обратным слешем.

    Частые ошибки

    Вопросы

    В каком часовом поясе работает cron?
    В часовом поясе сервера. Проверьте его командой date: если сервер по UTC, для 03:00 по Москве ставьте 00:00.
    Чем отличаются выражения из 5 и 6 полей?
    В классическом crontab пять полей. Шестое поле с секундами встречается в Quartz и некоторых планировщиках, но не в стандартном cron.
    Почему задача не запускается?
    Проверьте путь к PHP, права на файлы, полный путь к artisan и символ %. Временно пишите вывод в лог, а не в /dev/null.