Руководства по Cron
Руководства

Что такое Cron? Основы crontab

Базовые понятия планировщика и структура из 5 полей

Cron — это планировщик задач на основе времени в системах семейства Unix/Linux, который автоматически выполняет команды или скрипты в заданные моменты времени. Его используют, чтобы заранее запланировать регулярно повторяющиеся задачи — резервное копирование, очистку логов, синхронизацию данных — и не запускать их вручную каждый раз.

Список задач для выполнения записывается по одной в строке в таблице под названием crontab (cron table). Каждая строка состоит из выражения расписания, которое указывает, когда выполнять, и команды, которая указывает, что выполнять. Стандартное выражение расписания — это 5 полей, разделённых пробелами: минута (0-59) · час (0-23) · день (1-31) · месяц (1-12) · день недели (0-6, 0=воскресенье).

Например, 30 9 * * 1-5 означает «минута=30, час=9, день=любой, месяц=любой, день недели=пн–пт», поэтому задача выполняется по будням в 9:30 утра. * означает «все значения данного поля», а запись вида */5 задаёт интервал, то есть «каждые 5».

Демон cron каждую минуту проверяет все зарегистрированные выражения и выполняет задачи, совпадающие с текущим временем. Поэтому минимальный период, который можно задать через cron, составляет одну минуту. Если нужен более короткий период, придётся повторять запуск внутри самого скрипта или использовать другой подход.

Когда выражение усложняется, читать его глазами становится трудно. Если вставить выражение в инструмент выше, оно будет расшифровано в понятную человеку фразу с предпросмотром следующих запусков, так что вы сразу увидите, соответствует ли оно нужному расписанию.

Ресурсы

Готовые расписания

Готовые рецепты для копирования

Шпаргалка по синтаксису

5 полей и специальные символы с первого взгляда

Макросы и псевдонимы

Сокращённые выражения вроде @daily

Руководства

Практические руководства, чтобы разобраться в cron и меньше ошибаться