скрипт работает нормально при запуске из командной строки, но не через cron - PullRequest
0 голосов
/ 12 января 2010

У меня есть php-скрипт, который прекрасно работает при выполнении SSHing на моем сервере и его запуске.

однако скрипт php не запускается, хотя задание cron настроено на его запуск каждые 10 минут.

Как просмотреть ошибки, вызванные заданием cron?

Ответы [ 3 ]

1 голос
/ 12 января 2010

Иногда сообщения об ошибках отправляются вам по электронной почте cron. В противном случае он, вероятно, отправляется незадачливому системному администратору, который, вероятно, скрупулезно сохраняет сообщения в /dev/null.

.

Когда что-то работает из командной строки и не работает из cron, «среда» почти всегда ошибается. То, что установлено в обычной среде командной строки, не устанавливается в среде cron. Помните, cron не запускает ваш профиль для вас - у вас есть минимальный набор переменных среды с минимальными минимальными значениями для таких вещей, как PATH.

Как правило, я предполагаю, что мне следует запустить сценарий оболочки из cron, и этот сценарий оболочки отвечает за обеспечение правильной среды - и за то, что ошибки отслеживаются и регистрируются соответствующим образом - до запуска основной части программного обеспечения.

1 голос
/ 12 января 2010

Помните, что cron запускает ваш скрипт в другом рабочем каталоге, чем вы, вероятно, привыкли. Попробуйте что-то вроде следующего в командной строке:

cd /
./path/to/your/script.php

Если это не удастся, корректно изменяйте все пути в вашем скрипте, пока он не запустится. Тогда он будет работать в cron.

0 голосов
/ 12 января 2010

не уверен, но это, вероятно, связано с полномочиями. Запланируйте выполнение задачи с вашим идентификатором пользователя и посмотрите, не решено ли это. Если это так, вам нужно создать набор «пакетных» учетных данных, которые вы можете использовать для планирования задач, выполняемых ниже.

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