php shell_exec($cmd) не запускается в cronjob

Извините за этот (я считаю) плохой вопрос, но Google и другие статьи на этом форуме не могут мне помочь...

Я запускаю скрипт php со следующим кодом:

    $cmd="duck  -u user_name -p pwd -parallel 1 -e overwrite -y --throttle 1024 --upload path to remote file absolute_path_to_local_file";
    $shellResponse=shell_exec($cmd);

Это хорошо работает, когда я вызываю этот php-файл в браузере. Но это не удается, когда я вызываю скрипт в cronjob.

С помощью cronjob я получаю следующее сообщение об ошибке:

sh:1: duck not found

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

Кто-нибудь может помочь мне?!

1 ответ

Решение

Задания Cron не получают обычную переменную PATH env, которая обычно доступна.

Попробуйте вместо этого использовать абсолютный путь для команды "duck".

Пример:

$cmd = "/usr/bin/duck ..."

Чтобы найти абсолютный путь, вы можете набрать

which duck

в обычной командной строке

Другие вопросы по тегам