Linux sendmail命令在cron中不发送邮件

Linux sendmail命令在cron中不发送邮件,linux,scripting,cron,sendmail,Linux,Scripting,Cron,Sendmail,我试图在Red hat Linux环境中通过cronjob在bash shell脚本上运行sendmail命令。如果手动运行此脚本,并且shell中除邮件部分外的所有其他作业都能正确运行,则我可以成功运行此脚本。我从未使用过sendmail,也不确定是否需要重新构造它的显示方式 我试过mail和mailx。我可以发送电子邮件,但日志文件包含许多奇怪的字符,它将文本格式放入电子邮件的att00001.bin附件中,这是我不想要的。sendmail命令似乎是唯一一个在手动运行时不发送附件的命令。其他

我试图在Red hat Linux环境中通过cronjob在bash shell脚本上运行sendmail命令。如果手动运行此脚本,并且shell中除邮件部分外的所有其他作业都能正确运行,则我可以成功运行此脚本。我从未使用过sendmail,也不确定是否需要重新构造它的显示方式

我试过mail和mailx。我可以发送电子邮件,但日志文件包含许多奇怪的字符,它将文本格式放入电子邮件的att00001.bin附件中,这是我不想要的。sendmail命令似乎是唯一一个在手动运行时不发送附件的命令。其他cron作业工作正常,能够发送电子邮件,只是日志文件中没有特殊字符

echo '##################################################'
date
echo '##################################################'

#Run Script and write to log file
/comp/gfb281m.sh > /usr/local/bin/oracle/getload/getload.log 2>&1

#Send log file to developer group
(echo "Subject:GetLoad Shell"; echo; cat 
/usr/local/bin/oracle/getload/getload.log) | sendmail -v 
exampleEmail@outlook.com exampleEmail2@mail.mil

运行此cron作业时,应将getload.log文件的内容发送给一组用户

由于另一个来源,修复了该问题。我没有使用sendmail的完整路径。我只是说“| sendmail-v email”,而不是完整的sendmails路径,对我来说是“/usr/sbin/sendmail”。不确定这里是否允许链接,但下面是我找到答案的地方


crontab将
路径设置为
/usr/bin:/bin
。要避免键入绝对命令名,如
/etc/sbin/sendmail
,可以在crontab中设置路径:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/30 * * * * sendmail user@example.com%subject: Sample email%%Email body%

在RedHat上cron登录到的任何地方都有消息吗?我真傻,我只是告诉cron在运行时自己写一个日志文件,但看到它不知道在哪里可以找到sendmail命令。谢谢你在日志上的提示,很遗憾我应该知道这一点。