我正在我的机器上运行一些 cron 作业,每次启动终端会话时,我都会收到一条“您有邮件”消息(该作业会在成功时生成输出,并将其邮寄给我)。
有什么办法可以关闭这个通知吗?
答案1
确切的机制取决于“终端会话”中运行的 shell。对于 BASH shell,“bash”的手册页显示:
MAILCHECK
Specifies how often (in seconds) bash checks for mail. The
default is 60 seconds. When it is time to check for mail, the
shell does so before displaying the primary prompt. If this
variable is unset, or set to a value that is not a number
greater than or equal to zero, the shell disables mail checking.
MAILCHECK=-1
所以在你的文件中设置.bashrc
就可以了。其他 shell 也有包含类似建议的手册页。 (我bash 5.0.17
拒绝让我将变量设置为非整数,除非我首先将unset
其设置为非整数,因此手册页关于使用“非数字”的信息不完整。)
答案2
由 cron 发送的邮件通常被视为垃圾邮件并称为补习班(cron 垃圾邮件)。每次命令运行并成功时接收通知确实没有用,但如果 cron 仍然通知您有关错误的信息,那就太好了。你可以慢性病以此目的:
Cronic is a small shim shell script for wrapping cron jobs so that cron
only sends email when an error has occurred. Cronic defines an error as
any non-trace error output or a non-zero result code.