Швидка навігація по сторінці:

  • Запуск через веб-інтерфейс
  • Правила і приклади виконання команд cron

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

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

Тобто, якщо у вас на якомусь сайті налаштована відкладена публікація на місяць вперед, то xml карта сайту в цей період оновлюватися не буде. Вирішити цю проблему можна, якщо один раз в день буде виконуватися php-скрипт, який запускає цей плагін (написати такий скрипт нескладно, але це тема для окремої статті). Інший приклад — написати скрипт, який буде раз на день перевіряти наявність нових коментарів та інформувати вас по email. Ще один приклад — зробити раз на добу парсинг який-небудь RSS-стрічки для наповнення сайту контентом. І так далі.

Ось для запуску таких команд і потрібно cron: налаштування виконання php-скриптів займає не більше п’яти-десяти хвилин, а користь потім буде щоденна!

Cron — налаштування, правила і приклади команд

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

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

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

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 запускати досить нескладно — головне, дотримуватися вищевказаних правил!

    Соц закладки
    Соц закладки