Cronjob PHP скрипт не работает - PullRequest
7 голосов
/ 31 марта 2011

Я пытаюсь настроить cronjob для запуска каждые 20 минут. Это работает вручную:

php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON

Я пытался использовать "crontab -e" и устанавливать его каждые 20 минут с помощью:

 */20 * * * * php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON

оно было сохранено в /tmp/crontab.0xYhei9m/crontab

И, похоже, это не работает. Что здесь не так?

EDIT:

Текущая статистика:

*. cron запущен:

root     31855     1  0 08:39 ?        00:00:00 /usr/sbin/cron

*. Запуск "crontab -l" показывает:

* / 20 * * * * / usr / bin / php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON

И все равно не уходи. Снова ручной запуск скрипта работает просто отлично.

Ответы [ 4 ]

5 голосов
/ 31 марта 2011

запущен ли демон cron?

1 голос
/ 31 марта 2011

оно было сохранено в /tmp/crontab.0xYhei9m/crontab

Да - это файл, который вы только что отредактировали - это НЕ файл, который crond читает для запуска заданий. Затем Crontab должен прочитать этот файл, установить обновленный crontab в место, где его ищет crond, и уведомить crond, что ему нужно для обработки файла.

Вы проверили:

  1. crond запущен?
  2. вашему uid разрешено планировать задания cron (обычно через /etc/cron.allow / /etc/cron.deny)
  3. что скрипт действительно не запускается cron и не запускается из-за ошибки прав доступа?
  4. что версия crond, которую вы используете, поддерживает $ PATH и может найти исполняемый файл?
0 голосов
/ 31 марта 2011

Если он уже подключен к Интернету, попробуйте использовать wget вместо php, указав вместо пути путь, например, ::100100

* / 20 * * * * wget http://YOUR_IP/~YOUR_USER/PATH/Make_XML.php

или

* / 20 * * * * wget http://mysite.co.uk/PP/Make_XML.php

Сначала убедитесь, что URL работает, просто открыв его в браузере

Надеюсь, это поможет!

0 голосов
/ 31 марта 2011

Crontab ничего не знает о переменной PATH. Так что используйте абсолютный путь к вашему php (например, / usr / bin / php) / Вы можете запустить команду which php, чтобы найти ваш php путь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...