Не буду описывать все свои шаги по поиску ошибок запуска, скажу только, что у меня выпадала вот эта ошибка:
(CRON) error (grandchild #24430 failed with exit status 127)
Я перепробовал многое и в конце концов выяснилось, что ошибка заключалась в неправильной строке запуска скрипта. Вывод из этого соответствующий: не копируйте слепо всё, что пишут в интернетах.
Итак, ставим скрипт на cron:
- Заходим в консоль (я заходил от рута)
- Пишем там
crontab -e
- Пишем там следующее:
*/5 * * * * /usr/bin/php5 -f /srv/www/VASH_SITE.RU/htdocs/YOUR_PHP_SCRIPT.php > /srv/www/VASH_SITE.RU/htdocs/YOUR_PHP_SCRIPT.log 2>&1
- Жмём F2
- Видим такую красоту:
Это значит что задания cron'а успешно обновлены (но это не значит, что они успешно выполнятся) - Для проверки очереди задач cron'а можно вызвать команду
crontab -l
Несколько разъяснений для таких же ламеров как я:
*/5 * * * *
– здесь задаётся время выполнения скрипта. В моём случае раз в пять минут/usr/bin/php5 -f
– запускаемая программа. Параметр -f значит, что нужно запустить файл/srv/www/VASH_SITE.RU/htdocs/YOUR_PHP_SCRIPT.php
– выполняемый файл- >
> /srv/www/VASH_SITE.RU/htdocs/YOUR_PHP_SCRIPT.log 2>&1
– обозначет, что вывод файла будет записываться в файл по указанному адресу. Что значит цифирь в конце я не знаю, да это в общем-то и не суть. Главное, что все ошибки выполнения СКРИПТА будут записываться в удобное для вас место. Хоть в /dev/null их отправляйте - Ошибки самого cron'а можно найти в файле syslog в папке /var/log