Назад | Перейти на главную страницу

Проблема cronjob при выполнении скрипта php

У меня есть почасовой скрипт cronjob, который curls скрипт php. Скрипт php не выполняется. В crontab -e У меня есть:

1 * * * * /var/www/path/to/script.sh

Делать grep cron /var/log/syslog выходы:

Mar 23 21:45:01 Emile CRON[5339]: (root) CMD (/var/www/path/to/anotherscript.sh)
Mar 23 22:01:01 Emile CRON[5386]: (root) CMD (/var/www/path/to/anotherscript.sh)
Mar 23 22:01:01 Emile CRON[5387]: (root) CMD (/var/www/path/to/script.sh)
Mar 23 22:14:01 Emile CRON[5425]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 23 22:15:01 Emile CRON[5429]: (root) CMD (/var/www/path/to/anotherscript.sh)

Я проверил, что текущий URL curl в script.sh правильный и что путь в crontab -e правильно. Я также проверил, что скрипт php работает при ручном выполнении. Что еще там? Любые идеи? Другой способ диагностики? Что это такое cd / && run-parts в моем системном журнале?

Заранее спасибо за помощь!

Обычно может случиться $PATH проблема. Это curl используется с полным путем script.sh или просто curl?

Вы также можете изменить первую строку скрипта (если вы используете bash) с #!/bin/bash к #/bin/bash -x (который будет генерировать отладочную информацию из bash).

В любом случае, как сказал @derfK в своем комментарии, проверьте электронную почту пользователя на наличие ошибок (отладка скрипта также будет отправлена ​​на электронную почту пользователя). Вы можете изменить адрес электронной почты, который cron использует для отправки сообщений. MAILTO=<email> перед строками правила.