Skip to main content

Синтаксис заданий для CRON

Синтакис представляет собой последовательность 5 символов разделенных пробелами:

1 2 3 4 5

Где цифры обозначают:

  • 1: Минуты (0-59)
  • 2: Часы (0-23)
  • 3: День (0-31)
  • 4: Месяц (0-12 [12 == Декабрь])
  • 5: День недели (0-7 [7 или 0 == sunday])

Примеры задания в крон:

# выполнение задания каждые 5 минут #
*/5 * * * *

# выполнение задания каждый день в час ночи #
0 1 * * *

# выполнение задания каждый месяц первого числа в три часа ночи пятнадцать минут #
15 3 1 * *

 

Как использовать операторы

Оператор позволяет указать несколько значений в поле. Существуют четыре оператора:

  1. Звездочка (*): этот оператор задает все возможные значения для поля. Например, звездочка в поле «Часы» будет эквивалентна каждому часу, а звездочка в поле месяца будет эквивалентна каждому месяцу и т.д.
  2. Запятая (,): Этот оператор задает список значений, например: «1,5,10,15,20,25».
  3. Тире (-): Этот оператор задает диапазон значений, например: «5-15» дней, что эквивалентно набору «5,6,7,8,9 … …, 13,14,15», при использования оператора «Запятая».
  4. Слеш (/): этот оператор задает значение шага, например: «0-23 /» можно использовать в поле часов, чтобы указывать выполнение команды каждый час. Шаги также разрешены после звездочки, поэтому, если Вы хотите выполнять что-то каждые два часа, просто используйте «*/2».

Вместо первых пяти полей Вы можете использовать любую из восьми специальных строк. Планировщик cron позволяет такую настройку. Это не только сэкономит Ваше время, но и улучшит читаемость.

Специальная строкаЗначение
@rebootЗапускается только один раз при запуске.
@yearlyЗапускается раз в год, «0 0 1 1 *».
@annuallyТакое же, как у @yearly
@monthlyЗапускается раз в месяц, «0 0 1 * *».
@weeklyВыполняется раз в неделю, «0 0 * * 0».
@dailyВыполняется один раз в день, «0 0 * * *».
@midnightТакое же, как у @daily.
@hourly

Запускается один раз в час, «0 * * * *».