cron HOME 환경 변수를 설정하는 방법은 무엇입니까?

cron HOME 환경 변수를 설정하는 방법은 무엇입니까?

cron 작업의 출력으로 이메일을 보내기 위해 esmtp를 사용하고 있습니다. SMTP 서버 및 자격 증명 구성은 내 $HOME/.esmtprc에 저장됩니다. 그러나 $HOME env 변수는 매뉴얼에서 제안하는 대로 /etc/passwd의 HOME이 아닌 '/'로 설정된 것처럼 보입니다. 환경 변수를 파일로 출력하도록 /usr/sbin/sendmail을 변경했는데 다음이 표시됩니다.

홈='/'

그러나 이메일 헤더에는 다음이 포함됩니다.

X-Cron-Env: <HOME=/home/사용자 이름>

맞습니다. 그렇다면 esmtp에 대해 $HOME이 설정되지 않은 이유는 무엇입니까?

답변1

나는 당신이 특정 사용자로서 'crontab -e'를 통해 얻을 수 있는 사용자 cron을 언급하고 있다고 가정합니다.

종종 cron 작업은 $HOME을 '/'로 설정하여 실행됩니다.

일부 cron 버전에서는 crontab에 줄을 추가하여 이를 변경할 수 있습니다.

예를 들어, 'crontab -e'를 수행한 후 다음과 같은 줄을 가질 수 있습니다.

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

아니면 비슷한 것

관련 정보