如何設定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

或類似的東西

相關內容