我创建了一个磁盘清理脚本,在清理后发送状态电子邮件。现在,当我通过命令行运行它时,它执行完美,但通过cronjob它无法发送staus邮件休息,脚本工作正常。我在谷歌阅读了很多解决方案,但没有什么对我有用。我在我的Ubuntu机器上使用Bash。这是sendmail的一部分我的脚本。
export CONTENT="/root/cleanup/cleanup.htm"
export SUBJECT="Disk Space Clean Up Process : Completed @ $date_time"
(echo "Subject: $SUBJECT"
echo "`cat sendmail_list.txt`"
echo "MIME-Version: 1.0"
echo "Content-Type: text/html"
echo "Content-Disposition: inline"
cat $CONTENT
)|/usr/sbin/sendmail -t
请帮我知道解决方案......谢谢
答案 0 :(得分:9)
请在sh file:
中的sendmail之前添加/usr/sbin
/usr/sbin/sendmail "user@domain.com" < file.txt
答案 1 :(得分:3)
邮件标题和正文之间需要一个空行。
{
echo "Subject: $SUBJECT"
echo "$(< sendmail_list.txt)"
echo "MIME-Version: 1.0"
echo "Content-Type: text/html"
echo "Content-Disposition: inline"
echo ""
cat $CONTENT
} | /usr/sbin/sendmail -t
其他一些事情:
$(cat file)
的简写 - $(< file)