Você precisa dar ao seu cron um PATH
. Por exemplo:
SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin
No seu caso, tente colocar isso antes do seu comando. Verifique o wiki da comunidade em esta questão para mais informações sobre por que o PATH
variável é necessária. Aqui está um trecho; essencialmente a idéia é que o cron não lê /etc/environment
:
Uma "pegadinha" comum é a variável de ambiente PATH sendo diferente. Talvez seu script do cron use o comando
somecommand
encontrado em/opt/someApp/bin
, que você adicionou aPATH
in/etc/environment
? O cron não lê esse arquivo, então executarsomecommand
do seu script irá falhar quando executado com o cron, mas funcionará quando executado em um terminal. Para contornar isso, basta definir sua própria variávelPATH
na parte superior do script.