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