Como definir a variável de ambiente cron HOME?

Como definir a variável de ambiente cron HOME?

Estou usando o esmtp para enviar email como saída do cron job. O servidor SMTP e a configuração das credenciais são armazenados em $HOME/.esmtprc. No entanto, parece que a variável $HOME env está definida como '/', em vez de HOME em /etc/passwd como o manual sugere. Alterei /usr/sbin/sendmail para gerar variáveis ​​de ambiente para arquivo e vejo isto:

INÍCIO='/'

No entanto, os cabeçalhos do e-mail contêm isto:

X-Cron-Env: <HOME=/home/nomedeusuário>

qual é correto. Então, por que $HOME não está definido para o esmtp?

Responder1

Presumo que você esteja se referindo a um usuário cron, talvez algo que você possa acessar via 'crontab -e' como um usuário específico.

Freqüentemente, os cron jobs são executados com $HOME definido como '/'.

Em algumas versões do cron você pode alterar isso adicionando uma linha ao crontab.

por exemplo, você pode fazer um 'crontab -e' e ter linhas ao longo do seguinte

HOME=/home/myhome
0 * * * * /bin/sh -c "echo $HOME" >> /tmp/doesitwork.log

ou algo semelhante

informação relacionada