Cron 在哪里寻找默认的邮件二进制文件?

Cron 在哪里寻找默认的邮件二进制文件?

我已将 Cron 作业设置为在 Chroot 环境中运行,具体取决于用户/组;

我注意到这些在 chroot 环境中运行的 cron 作业无法发送任何邮件。

日志文件报告找不到发送邮件的程序。

Cron 进程在哪里查找默认邮件二进制文件?您可以设置或配置该路径吗?

顺便说一句..如果未设置 MAILTO= 变量,Cron 如何知道将邮件发送到哪里?它只是向本地主机上运行作业的用户发送邮件吗?

谢谢!

答案1

Cron 进程在哪里查找默认邮件二进制文件?

除非另有说明,我相当确定它只是使用在路径(/bin:/usr/bin)中找到的邮件程序。您可以-m为某些版本的 cron 指定命令行参数

-m 此选项允许您指定用于发送 cron 邮件输出而不是 sendmail(8) 的 shell 命令字符串。该命令必须在标准输入上接受完全格式化的邮件消息(带有标头),并将其作为邮件消息发送给邮件标头中指定的收件人。

以上适用于 CentOS/RHEL,Ubuntu 看起来不同

您可以设置或配置该路径吗?

往上看。

如果未设置 MAILTO= 变量...

如果未设置 MAILTO,则您怀疑邮件将传递给正在运行作业的本地用户。

在 CentOS/RHEL 上,您可以在 /etc/sysconfig/crond 中指定额外的命令行参数,这样您就不必编辑初始化脚本。其他操作系统/发行版可能提供类似的功能。

相关内容