如何设置 cron HOME 环境变量?

如何设置 cron HOME 环境变量?

我正在使用 esmtp 发送电子邮件作为 cron 作业的输出。SMTP 服务器和凭据配置存储在我的 $HOME/.esmtprc 下。但是看起来 $HOME 环境变量设置为“/”,而不是手册建议的 /etc/passwd 中的 HOME。我更改了 /usr/sbin/sendmail 以将环境变量输出到文件,我看到了以下内容:

主页='/'

但是电子邮件标题包含以下内容:

X-Cron-Env:<HOME=/home/用户名>

这是正确的。那么为什么 esmtp 的 $HOME 没有设置呢?

答案1

我假设您指的是用户 cron,也许您可​​以作为特定用户通过“crontab -e”来获得某些东西。

通常,cron 作业在将 $HOME 设置为 '/' 的情况下运行。

在某些版本的 cron 中,您可以通过在 crontab 中添加一行来更改此情况。

例如,你可以执行“crontab -e”,然后执行下面的几行

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

或类似的东西

相关内容