Для того, чтобы в определенное время с определенной периодичностью выполнялись какие-то инструкции.
Инструкции в свою очередь могут быть какими угодно и представлены в виде файла с определенной программой. В качесте примера возможной инструкции: "Рассылка пользователям новостей каждый день в 4 часа утра".
При установке расписаний Вам предлагается заполнить следующие поля:
"Минута", "Час", "День", "Месяц", "День недели", "Команда".
Что касается первых пяти полей ("Минута", "Час", "День", "Месяц", "День недели") - это временные характеристики, по которым будет выполняться задание. Например, "* * * * *" означает "каждую минуту", а "0 0 * * *" означает "в полночь".
Поле "Команда".
Здесь нужно указать путь к файлу, который Вы хотите, чтоб запускался, в указанное Вами время. Путь к файлу должен быть записан в следующем виде: php -f /home/login/public_html/file.php, где "login" - Ваш логин у хостинг-провайдера, "file.php" - адрес файла на сервере относительно корня Вашего сайта.
Чаще всего проблема возникает из-за наличия в списке заданий "виндового" перевода строки. Windows использует для разделения строк два символа - \x0D и \x0A, а Linux только один - \x0A. Наличие в коде "виндового" \x0D вызывает ошибку. Для избавления от "виндового" символа есть два пути:
Изначально писать файл для cron'а в текстовом редакторе, позволяющем сохранять код в Linux-формате (Блокнот к таким не относится).
При загрузке скрипта по FTP включать режит ASCII. Тогда файл будет передан на сервер в правильном Linux-формате.
Далее следует проверить правильность написания путей. Пути в Linux имеют вид /home/user/dir/file. Обратите внимание, в отличие от Windows, слеши в Linux прямые (/), я не обратные (\), регистр различается (file и File это разные файлы). Кроме того, если запускаемый скрипт написан на PHP, перед путем к скрипту необходимо вставить вызов интерпретатора PHP:
0 * * * * php /home/user/dir/script.php
1. Нужно зайти в CPanel в раздел "Дополнительные инструменты / Планировщик задач " (Cron). Выберите "Стандартный" уровень знаний.
2. Если у вас еще нет заданий, выполняющихся по расписанию, то вам нужно настроить пункт "Запись 1". Если у вас уже есть задания, то для добавления нового задания, необходимо настроить последний пункт записей в списке заданий. Для удаления какого-либо задания очистите поле "Команда для запуска" этого задания.
3. Настраиваете периодичность выполнения задания выбором значений в полях минут, часов, дней, месяцев, дней недели.
Например, для запуска задания каждые 15 минут нужно установить: минута - каждые 15 минут; час - ежечасно; день - ежедневно; месяц - ежемесячно; день недели - каждый день недели. Если вы установите число месяца и день недели, то задание будет выполняться как в каждый выбранный день недели, так и в выбранное число месяца.
4. В поле "Команда для запуска" назначаете команду для выполнения задания.
4.1 Для PHP скриптов, которым не нужно передавать параметры, предпочтительнее задать команду: php полный_путь_к_скрипту, Полный путь к скрипту начинается с директории /home Например: php /home/ваш_логин/public_html/ваш_скрипт.php Этим способом можно назначать задания для скриптов, которые бы вы НЕ хотели делать доступными из Internet и помещать в директорию public_html.
4.2 Для скриптов, которым необходимо передать параметры, следует использовать команду GET.
Например: GET http://ваш_сайт/ваш_скрипт.php?par1=value1&par2=value2 При этом ваш скрипт должен находиться в директории public_html или в директории, вложенной в нее.
5. Для того, чтобы получать результат выполнения заданий (ту информацию, которую отображают скрипты в процессе выполнения) по электронной почте, укажите емайл для результатов вверху страницы Планировщика задач, иначе - оставьте это поле пустым.