Синтаксис заданий для 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,5,10,15,20,25».
- Тире (-): Этот оператор задает диапазон значений, например: «5-15» дней, что эквивалентно набору «5,6,7,8,9 … …, 13,14,15», при использования оператора «Запятая».
- Слеш (/): этот оператор задает значение шага, например: «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 * * * *». |