Cron

Почему скрипт не запускается через Cron?

Чаще всего проблема возникает из-за наличия в списке заданий "виндового" перевода строки. 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

Вернуться Назад