O Cron sempre é executado com um ambiente quase vazio. HOME, LOGNAME e SHELL estão definidos; e um PATH muito limitado. Portanto, é aconselhável usar caminhos completos para executáveis e exportar quaisquer variáveis necessárias em seu script ao usar o cron.
Existem várias abordagens que você pode usar para definir suas variáveis de ambiente no cron, mas todas elas são configuradas no seu script.
Abordagem 1:
Defina cada variável que você precisa manualmente no seu script.
Abordagem 2:
Fonte do seu perfil:
. $HOME/.bash_profile
(ou . $HOME/.profile
)
(Você geralmente descobrirá que o arquivo acima irá fornecer outros arquivos (por exemplo, ~ / .bashrc - > / etc / bashrc - > /etc/profile.d/*) - se não, você pode pesquisar aqueles também.)
Abordagem 3:
Salve suas variáveis de ambiente em um arquivo (execute como o usuário desejado):
env > /path/to/my_env.sh
Em seguida, importe através do seu script cron:
env - 'cat /path/to/my_env.sh' /bin/sh
Abordagem 4:
Em alguns casos, você pode definir variáveis globais do cron em /etc/default/cron
. Há um elemento de risco para isso, no entanto, como estes serão definidos para todos os trabalhos agendados.