1 ноября 2019 г.
Время чтения: 2 минуты

Пишем команды в cron самостоятельно

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

Минуты

* * * * * — каждую минуту.
0 * * * * — каждый час в 0 минут.
15 * * * * — каждый час в 15 минут (0:15, 1:15 и так далее).
*/15 * * * * — каждые 15 минут.
0,15,25 * * * * — три раза в час, в 0, 15 и 25 минут.
15-25 * * * * — каждую минуту в каждом часу, начиная с 15-ой минуты и заканчивая 25-ой.

Часы

* 4 * * * — каждую минуту в 4-ом часу каждого дня.
* */4 * * * — каждую минуту в каждом 4-ом по счёту часу, начиная с полуночи (4, 8, 12, 16, 20, 0).
0 */4 * * * — каждые четыре часа в 0 минут.
0 4 * * * — каждый день в 4:00.
0 4,17,23 * * * — каждый день в 4:00, 17:00 и 23:00.
* 4-17 * * * — каждую минуту в каждом часу, начиная с 4-ого часа и заканчивая 17-ым.
* 4-17/2 * * * — каждую минуту каждый второй час в диапазоне между 4-ым и 17-ым часами (6, 8, 10, 12, 14, 16).

Дни месяца

* * 6 * * — каждую минуту в каждом часу 6-го числа каждого месяца.
15 4 6 * * — 6-го числа каждого месяца в 4:15.
15 4 */6 * * — в 4:15 в каждый 6-ой день месяца (6, 12, 18, 24, 30).
15 4 6-9 * * — в 4:15 каждого дня каждого месяца, начиная с 6-ого числа и заканчивая 9-ым.
15 4 6,11,25 * * — в 4:15 6-ого, 11-ого и 25-ого числа каждого месяца.

Месяцы

* * * 8 * — каждую минуту каждого часа каждого дня в августе (8-ой месяц года).
* * * */2 * — каждую минуту каждого часа каждого дня в каждый второй месяц года (февраль, апрель, июнь, август, октябрь, декабрь).
* * * 2-8 * — каждую минуту каждого часа каждого дня в каждый месяц, начиная с февраля и заканчивая августом.
* * * 2,8 * — каждую минуту каждого часа каждого дня в феврале и в августе.
15 4 * 3 * — каждый день в марте в 4:15.
15 4 6 3 * — каждый год 6 марта в 4:15.

Дни недели

* * * * 4 — каждую минуту каждого часа в каждый четверг каждого месяца.
11 11 * * 4 — каждый четверг в 11:11.
11 11 4 * 4 — каждое 4-ое число и каждый четверг в 11:11 (не означает, что 4-ое число обязательно должно выпадать на четверг).
11 11 4 4 4 — 4 апреля и каждый четверг в апреле в 11:11.
11 11 * * 0 или 11 11 * * 7 — каждое воскресенье в 11:11.
11 11 * * 1-5 — каждый будний день (с понедельника по пятницу) в 11:11.

Некоторые самые распространённые варианты периодичности можно задавать таким образом:

@reboot — одиночное выполнение команды при перезапуске сервера.
@yearly или @annually — ежегодно.
@monthly — ежемесячно.
@weekly — каждую неделю.
@daily или @midnight — ежедневно.
@hourly — каждый час.

Помните, что каждый файл crontab должен заканчиваться пустой строкой, иначе последнее правило или сразу весь файл будут проигнорированы. Все задания текущего пользователя удаляются с помощью команды crontab -r. А с помощью man crontab вы сможете увидеть справку о cron.

В работе с файлами crontab также могут помочь специальные сервисы по генерации команд для cron. Например, на сайтах Crontab Generator и CronMaker достаточно лишь ввести нужные значения — и вы получите готовую оформленную команду. А на сайте Crontab Guru можно проверить написанную вами команду и узнать больше о работе с cron.

Вы купили домен — а что дальше?

13 сентября празднуем День программиста!

Рекомендуем

Домен .SALE: как купить его за 790 ₽ и для каких сайтов использовать

Защита PHP-сайта: зачем подключать услугу «Антивирус для PHP-сайтов» на хостинге

© Джино, 2003–2024. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 150549 от 09.03.2017.
Правовая информация Политика конфиденциальности Карта сайта