Para evitar a necessidade de digitar o caminho absoluto para um comando, os shells introduziram a variável de ambiente $PATH
, cada diretório é separado por :
e as pesquisas são feitas da esquerda para a direita. cron
geralmente limpa todo o ambiente, incluindo essa variável $PATH
. Portanto, o script pode se comportar de maneira diferente em seu cron comparado ao comportamento no shell.
Use caminhos absolutos
Execute which db2
como db2inst1
user para obter o caminho completo para o programa db2
. Se a saída for /usr/bin/db2
, seu comando cron será parecido com:
/usr/bin/db2 connect to myDB2
Defina a variável PATH
Execute echo "$PATH"
como db2inst1
user para obter a variável $PATH
e certifique-se de que esta variável esteja disponível em seu script cron também. Por exemplo, se a saída fosse /usr/local/bin:/usr/bin:/bin
, você colocaria a próxima linha no topo do seu script de shell:
export PATH="/usr/local/bin:/usr/bin:/bin"