Cron — настройка, правила и примеры команд

Быстрая навигация по этой странице:

Продвинутым пользователям часто бывает необходимо запускать какой-либо php-скрипт автоматически в заданное время. Это может требоваться для самых разных причин.

Например, в WordPress один из самых популярных плагинов для карты сайта — Google XML Sitemaps, работает только в момент публикации поста, при этом если вы делаете отложенную публикацию, то он пост в карту сайта не включает и не включит до тех пор, пока вы не опубликуете через админку какой-либо пост без отложенной публикации.

То есть, если у вас на каком-то сайте настроена отложенная публикация на месяц вперед, то xml карта сайта в этот период обновляться не будет. Решить эту проблему можно, если один раз в день будет выполняться php-скрипт, запускающий этот плагин (написать такой скрипт несложно, но это тема для отдельной статьи). Другой пример — написать скрипт, который будет раз в день проверять наличие новых комментариев и информировать вас по email. Еще один пример — произвести раз в сутки парсинг какой-нибудь RSS-ленты для наполнения сайта контентом. И так далее.

Вот для запуска таких команд и требуется cron: настройка выполнения php-скриптов занимает не более пяти-десяти минут, а польза потом будет ежедневная!

cron настройка

Запуск через веб-интерфейс

Сейчас практически все уважающие себя хостеры предоставляют веб-интерфейс для установки настроек cron. Разумеется, он бывает разным у разных провайдеров, но в целом везде одна и та же система — вам необходимо прописать путь к скрипту (как правило, прописывается полный путь от локального каталога на хосте), а также задать периодичность.

Например, на хостинге IHC задать команду cron можно с помощью следующей формы:

cron php

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

Если вам нужно задать какое-то особое время, отсутствующее в предложенных вариантах — например, запускать cron каждые 5 минут, то нужно прописать подробную команду такого типа:

*/5 * * * * /usr/bin/php/home/дальнейший_путь_к_скрипту_/ваш_скрипт.php

Звездочками помечены временные параметры в следующем порядке:

  1. минуты (0-59)
  2. часы (0-23)
  3. дни (1-31)
  4. месяцы (1-12)
  5. дни недели (0-7, при этом воскресенье можно задать и нолем, и семеркой)

Соответственно, если стоит звездочка — то она означает все часы (дни, месяцы и т.д.).

Правила и примеры выполнения команд cron

Все команды cron должны соответствовать следующим правилам:

  1. должны быть указаны все параметры, если нечего указать — тогда ставится звездочка (вспоминается robots.txt — там тоже действуют строгие правила, неважно ucoz это или wordpress)
  2. через дробь задается периодичность: */10 = 1 раз в десять минут (или, например, часов)
  3. можно указать несколько вариантов через запятую: 1,3,10 — в первую, третью и десятую минуты

Рассмотрим на конкретных примерах:

Выполнять скрипт каждый понедельник в 12:30 (путь к файлу указан для примера, в реальности он будет разным на разных хостингах)

30 12 * * 1 /usr/bin/php/home/дальнейший_путь_к_скрипту_/ваш_скрипт.php

Выполнять скрипт каждый день в 13, 18 и с 20 до 23 часов:

0 13,18,20-23 * * * /usr/bin/php/home/дальнейший_путь_к_скрипту_/ваш_скрипт.php

Как видите, через cron php запускать достаточно несложно — главное, следовать вышеуказанным правилам!

Если Вы нашли для себя что-то полезное на этой странице, пожалуйста, нажмите на одну из этих кнопок:
Комментарии
  1. Ирина

    Я так понимаю, что если вообще отключу cron через wp-config, то тогда трансляция RSS со стороннего ресурса производиться не будет? Так, выходит?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>