cronjob не работает на живом сервере, но работает на локальном хосте с использованием crontab

Я написал эту команду в моем локальном crontab

*/1 * * * * /usr/bin/wget -O /dev/null -q http://localhost/whitelabel/cms/cronjobs/calculatestats.php

и он отлично работает на локальном хосте (Ubuntu 12.04), но на моем живом сервере (Cent OS) я добавил эту команду

*/1 * * * * /usr/bin/wget -O /dev/null -q http://liveserver.com/whitelabel/cms/cronjobs/calculatestats.php

но это не работает. Хотя, если я запускаю URL-адрес этого файла сервера в браузере, он работает, но я должен запустить его через cronjob. Я также дал разрешения на доступ к этому файлу, но он не работает в cronjob.

3 ответа

Решение

Есть ли причина, по которой вам нужно запустить это через веб-сервер? Для работы cron я бы создал свой файл PHP таким образом:

#!/usr/local/bin/php -q
<?
// /usr/local/bin/php -q is path to your PHP CGI file - any host should have one of these
// code here
?>

и запустить его так:

*/1 * * * * /path/to/file.php >/dev/null

сначала выполните для файла команду chmod 755 и убедитесь, что вы загрузили его в режиме ascii

Вы пытались просто запустить: / usr / bin / wget -O / dev / null -q http://liveserver.comwhitelabel/cms/cronjobs/calculatestats.php

В консоли? Обычно я нахожу, что ошибка появляется, когда я пытаюсь выполнить команду без использования cronjob.

Сравните, что эта команда делает на вашем локальном компьютере с тем, что она делает на сервере без хронографа, и посмотрите, сможете ли вы найти ответ:)

Добавьте следующую строку в /etc/hosts

127.0.0.1 liveserver.com
Другие вопросы по тегам