Быстрая навигация по этой странице:
Продвинутым пользователям часто бывает необходимо запускать какой-либо php-скрипт автоматически в заданное время. Это может требоваться для самых разных причин.
Например, в WordPress один из самых популярных плагинов для карты сайта — Google XML Sitemaps, работает только в момент публикации поста, при этом если вы делаете отложенную публикацию, то он пост в карту сайта не включает и не включит до тех пор, пока вы не опубликуете через админку какой-либо пост без отложенной публикации.
То есть, если у вас на каком-то сайте настроена отложенная публикация на месяц вперед, то xml карта сайта в этот период обновляться не будет. Решить эту проблему можно, если один раз в день будет выполняться php-скрипт, запускающий этот плагин (написать такой скрипт несложно, но это тема для отдельной статьи). Другой пример — написать скрипт, который будет раз в день проверять наличие новых комментариев и информировать вас по email. Еще один пример — произвести раз в сутки парсинг какой-нибудь RSS-ленты для наполнения сайта контентом. И так далее.
Вот для запуска таких команд и требуется cron: настройка выполнения php-скриптов занимает не более пяти-десяти минут, а польза потом будет ежедневная!
Запуск через веб-интерфейс
Сейчас практически все уважающие себя хостеры предоставляют веб-интерфейс для установки настроек cron. Разумеется, он бывает разным у разных провайдеров, но в целом везде одна и та же система — вам необходимо прописать путь к скрипту (как правило, прописывается полный путь от локального каталога на хосте), а также задать периодичность.
Например, на хостинге IHC задать команду cron можно с помощью следующей формы:
Как видите, задать время можно достаточно удобным способом через выпадающую форму.
Если вам нужно задать какое-то особое время, отсутствующее в предложенных вариантах — например, запускать cron каждые 5 минут, то нужно прописать подробную команду такого типа:
*/5 * * * * /usr/bin/php/home/дальнейший_путь_к_скрипту_/ваш_скрипт.php
Звездочками помечены временные параметры в следующем порядке:
- минуты (0-59)
- часы (0-23)
- дни (1-31)
- месяцы (1-12)
- дни недели (0-7, при этом воскресенье можно задать и нолем, и семеркой)
Соответственно, если стоит звездочка — то она означает все часы (дни, месяцы и т.д.).
Правила и примеры выполнения команд cron
Все команды cron должны соответствовать следующим правилам:
- должны быть указаны все параметры, если нечего указать — тогда ставится звездочка (вспоминается robots.txt — там тоже действуют строгие правила, неважно ucoz это или wordpress)
- через дробь задается периодичность: */10 = 1 раз в десять минут (или, например, часов)
- можно указать несколько вариантов через запятую: 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 запускать достаточно несложно — главное, следовать вышеуказанным правилам!
Я так понимаю, что если вообще отключу cron через wp-config, то тогда трансляция RSS со стороннего ресурса производиться не будет? Так, выходит?