![SSH:关闭来自 Cron 的已读邮件消息](https://linux22.com/image/1354581/SSH%EF%BC%9A%E5%85%B3%E9%97%AD%E6%9D%A5%E8%87%AA%20Cron%20%E7%9A%84%E5%B7%B2%E8%AF%BB%E9%82%AE%E4%BB%B6%E6%B6%88%E6%81%AF.png)
每当我 ssh 到我的服务器时,我都会收到“您有邮件”以及横幅消息。然后我输入邮件,并按回车键浏览消息,直到出现 EOF,当我退出或按 ctrl+d 并重新登录到我的服务器时,我会收到相同的消息,内容是“您有邮件...”
该邮件实用程序有手册吗?
答案1
man mail
与任何其他程序一样,通常可以使用 来访问该手册。
您可以输入 来让它删除所有消息d *
,或者使用 将其标记为已读seen *
。
邮件本身存储在/var/mail/$USER
(或/var/spool/mail/$USER
)中。如果您已安装并配置了 MTA,则可以通过将电子邮件地址放入文件中来将它们转发到您的真实邮箱(例如 Gmail)~/.forward
。
答案2
如果您不想接收来自单个 cron 作业的消息,您可以在 crontab 中的每一行末尾重定向输出 - 例如,> /dev/null
仅重定向到 stdout(您仍会在邮箱中收到 stderr 消息)或&> /dev/null
将所有内容重定向到位存储桶*。如果您根本不想在邮箱中收到来自 cron 的任何消息,请将其添加MAILTO=""
到 crontab 的开头。
*不过现在我在尝试阻止 cron 在正在运行的 cron 脚本被终止时发送消息时遇到了问题。在这种情况下,MAILTO
目前似乎只有这个东西可以阻止发送电子邮件。