Я использую esmtp для отправки электронной почты в качестве вывода задания cron. Конфигурация сервера SMTP и учетных данных хранится в моем $HOME/.esmtprc. Однако похоже, что переменная окружения $HOME установлена в '/', а не в HOME из /etc/passwd, как указано в руководстве. Я изменил /usr/sbin/sendmail для вывода переменных окружения в файл и вижу это:
ДОМОЙ='/'
Однако заголовки писем содержат следующее:
X-Cron-Env: <HOME=/home/имя_пользователя>
что правильно. Так почему же $HOME не установлен для esmtp?
решение1
Я предполагаю, что вы имеете в виду cron пользователя, возможно, что-то, к чему вы можете получить доступ с помощью «crontab -e» как конкретный пользователь.
Часто задания cron запускаются с $HOME, установленным в значение «/».
В некоторых версиях cron это можно изменить, добавив строку в crontab.
например, вы можете выполнить команду «crontab -e», а затем получить строки следующего вида
HOME=/home/myhome
0 * * * * /bin/sh -c "echo $HOME" >> /tmp/doesitwork.log
или что-то подобное