Variável $ PATH para CRON no OpenSuse

0

Eu tenho um script escrito que funciona perfeitamente no terminal, no entanto, dá erro quando chamado através do crontab. Demorei um pouco para que o problema estivesse no ambiente cron, não no meu script.

então tentei algumas opções depois de ler várias postagens online:

* * * * * PATH=/home/sam/bin:/home/sam/scriptbin/ /path/to/script Não funcionou

* * * * * bash -lc /path/to/script Não funcionou

* * * * * /path/to/script Não funcionou

`PATH=blahdeblah
* * * * * jobdejob` Didn't work

Como posso alterar a $PATHvariável para crontab no OPENSUSE ou incluir no arquivo cron para que ele funcione. Estou usando o open suse 11.

Obrigado!

learningprogramming
fonte

Respostas:

0

Dois caminhos; primeiro, alguns daemons cron permitem que variáveis ​​de ambiente sejam definidas:

PATH=blahdeblah
* * * * * jobdejob

Segundo, use o env(1)utilitário, que executa o trabalho real:

* * * * * env PATH=blahdeblah jobdejob

Três! Use caminhos totalmente qualificados nas tarefas cron. Não, não, quatro maneiras, como Jeff diz, definem o caminho no script:

#!/bin/sh
PATH=blahdeblah
...

Quinto, uma devoção implacável ao PATH.

agitar
fonte
você pode compartilhar mais sobre env (1) .. não tem idéia do que é isso?
learnningprogramming
Ou, para uma melhor localidade, defina o PATH necessário na parte superior do seu script.
Jeff Schaller
Eu segundo @ ideia de JeffSchaller em vez de fazer a vida mais difícil para si mesmo, tentando descobrir como o seu daemon cron vai reagir
MelBurslan
nenhuma das duas opções acima parece funcionar ..
learnningprogramming