Para evitar ter que digitar o caminho absoluto para um comando, os shells introduziram a $PATH
variável de ambiente, cada diretório é separado por a :
e as pesquisas são feitas da esquerda para a direita. cron
geralmente limpa todo o ambiente, incluindo essa $PATH
variável. Portanto, o script pode se comportar de maneira diferente no seu cron em comparação com o comportamento no shell.
Use caminhos absolutos
Execute which db2
como db2inst1
usuário para obter o caminho completo do db2
programa. Se a saída for /usr/bin/db2
, seu comando cron seria semelhante a:
/usr/bin/db2 connect to myDB2
Defina a variável PATH
Execute echo "$PATH"
como db2inst1
usuário para obter a $PATH
variável e verifique se ela também está disponível no seu script cron. Por exemplo, se a saída fosse /usr/local/bin:/usr/bin:/bin
, você colocaria a próxima linha na parte superior do seu script de shell:
export PATH="/usr/local/bin:/usr/bin:/bin"
Você deve definir o que são db2 e myDB2 , caso contrário, use o local absoluto de ' arquivo ' ou ' aplicativo ' que deseja executar.
Exemplo:
fonte