Como posso executar um comando cron com variáveis ambientais existentes?
Se eu estiver em um prompt de shell, posso digitar echo $ORACLE_HOME
e obter um caminho. Esta é uma das minhas variáveis ambientais que é definida na minha ~/.profile
. No entanto, parece que ~/.profile
não é carregado de scripts cron e, portanto, meus scripts falham porque a $ORACLE_HOME
variável não está definida.
Em esta questão o autor menciona a criação de um ~/.cronfile
perfil que estabelece variáveis para cron, e então ele faz uma solução alternativa para carregar todos os seus comandos cron em scripts que ele mantém em seu ~/Cron
diretório. Um arquivo ~/.cronfile
parece uma boa idéia, mas o restante da resposta parece um pouco complicado e eu esperava que alguém pudesse me dizer uma maneira mais fácil de obter o mesmo resultado.
Suponho que, no início dos meus scripts, eu possa adicionar algo parecido, source ~/.profile
mas que parece ser redundante.
Então, como posso fazer meus scripts cron carregar as variáveis do meu perfil de shell interativo?
su -l
para configurar um ambiente de login normal, incluindo o $ PATH para root ou outro usuário específico.
source ~/.profile
a um programa é redundante? Os programas herdam seu ambiente do programa de chamada. Se esse programa de chamada não for o seu shell, como o programa decendente obterá o ambiente que você deseja?