我正在使用 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
或類似的東西