Итак, начнем с того, что такое CRON в принципе.
Cron (Command Run ON) — демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время. Подробнее можно прочитать в Википедии.
Для InstantMedia необходимо:
- Зайти в панели управления хостингом в раздел "CronTab (Задания по расписанию)" — этот пункт может называться у вас по другому, например "Планировщик (cron)";
- Создать новое задание на выполнение команды php -f /полный_путь_до_вашей_директории_сайта/cron.php имя-домена, в поле "время выполнения" выставить запуск на каждые 5 минут. На многих хостингах так же есть опция "отсылать на e-mail отчет о выполнении" для отладки в самом начале ее необходимо включить для выявления возможных ошибок;
Возможные трудности:
- Запуск php скриптов из командной строки запрещен, уточняйте у хостера решение проблемы, для выполнения php скриптов из cron необходим бинарный интерпретатор PHP (php cli);
- Запуск возможен только указав полный путь к интерпретатору php, например /usr/bin/php -f /полный_путь_до_вашей_директории_сайта/cron.php имя домена, путь к интерпретатору PHP уточните у хостера или посмотрите в настройках компонента во разделе "Диагностика" - если компонент верно определил пути, будет выведена готовая команда;
- Неизвестный Вам полный путь от корня сервера до вашей web директории - этого уточните у хостера;
Возможная готовая команда для планировщика показана в админке во вкладке диагностика компонента InstantVideo.
Для тех кто предпочитает консоль:
Управлять cron нужно с помощью команды crontab. Команда "crontab -e" автоматически запустит текстовый редактор и загрузит в него файл конфигурации cron. После выхода из редактора, новая конфигурация cron будет установлена (вступит в силу) автоматически.
Конфигурационный файл содержит последовательность командных строк и расписание их вызова. Пустые строки и строки, начинающиеся с символа '#' игнорируются. Остальные строки являются установками переменных окружения и командами cron.
Запись crontab файла в общем случае состоит из семи полей:
минуты часы день месяц день_недели имя_пользователя команда
Допустимые значения временных параметров:
- минуты 0-59
- часы 0-23
- день_месяца 1-31
- месяц 1-12
- день_недели 0-7 (0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс)
Поле может быть задано явно или шаблоном:
- звездочка - любая цифра;
- целое число;
- целые числа через запятую — задание дискретного множества значений;
- два целых числа, разделенные дефисом, соответствующие диапазону значений.
Пример сценария cron:
# Пример запуска скрипта каждые пять минут:
*/5 * * * * /usr/bin/php -f /home/www/cron.php site.ru
Посмотреть задачи можно в админке InstantCMS в разделе общих настроек сайта. Внимание! Для некоторых заданий интервал запуска должен быть выставлен в 0 часов, не меняйте это значение.
Если ничего вышеописанное вам не помогло, значит нужно задать вопрос вашему хостеру следующего содержания: "Как настроить Планировщик заданий для автоматического запуска php-скрипта?".