Швидка навігація по сторінці:
- Запуск через веб-інтерфейс
- Правила і приклади виконання команд cron
Просунутим користувачам часто буває необхідно запускати будь-який php-скрипт автоматично в заданий час. Це може знадобитися для самих різних причин.
Наприклад, у WordPress один з найбільш популярних плагінів для карти сайту — Google XML Sitemaps, працює тільки в момент публікації поста, при цьому якщо ви робите відкладену публікацію, то він пост в карту сайту не включає і не включить до тих пір, поки ви не опублікуєте через адмінку який-небудь пост без відкладеного публікації.
Тобто, якщо у вас на якомусь сайті налаштована відкладена публікація на місяць вперед, то xml карта сайту в цей період оновлюватися не буде. Вирішити цю проблему можна, якщо один раз в день буде виконуватися php-скрипт, який запускає цей плагін (написати такий скрипт нескладно, але це тема для окремої статті). Інший приклад — написати скрипт, який буде раз на день перевіряти наявність нових коментарів та інформувати вас по email. Ще один приклад — зробити раз на добу парсинг який-небудь RSS-стрічки для наповнення сайту контентом. І так далі.
Ось для запуску таких команд і потрібно cron: налаштування виконання php-скриптів займає не більше п’яти-десяти хвилин, а користь потім буде щоденна!
Запуск через веб-інтерфейс
Зараз практично всі поважаючі себе хостери надають веб-інтерфейс для установки налаштувань cron. Зрозуміло, він буває різним у різних провайдерів, але в цілому скрізь одна і та ж система — вам необхідно прописати шлях до скрипта (як правило, прописується повний шлях від локального каталогу на хості), а також визначити періодичність.
Наприклад, на хостинг IHC задати команду cron можна за допомогою наступної форми:
Як бачите, задати час можна досить зручним способом через випадає форму.
Якщо вам потрібно задати якийсь особливий час, відсутнє у запропонованих варіантах — наприклад, запускати cron кожні 5 хвилин, то потрібно прописати детальну команду такого типу:
*/5 * * * * /usr/bin/php/home/дальнейший_путь_к_скрипту_/ваш_скрипт.php
Зірочками позначені часові параметри в такому порядку:
Відповідно, якщо стоїть зірочка — то вона означає всі години (дні, місяці тощо).
Правила і приклади виконання команд cron
Всі команди cron повинні відповідати наступним правилам:
Розглянемо на конкретних прикладах:
Виконувати скрипт кожен понеділок о 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 запускати досить нескладно — головне, дотримуватися вищевказаних правил!