Vixiecron 不允许禁用电子邮件,我如何全局禁用 cron 电子邮件?

Vixiecron 不允许禁用电子邮件,我如何全局禁用 cron 电子邮件?

每次运行 cron 时,都会创建一些 sendmail 进程,这会给我们的机器带来巨大的高负载。我们已经将这个问题归结到 cron 和 sendmail 上。

在 cron 顶部添加 MAILTO="" 是一种解决方案,将每个 cron 命令传送到 dev null 是另一种解决方案,但我需要一个全局解决方案......在 cron 上进行某种配置等。

维西克龙才不是有以下选项,我相信它可以解决我的问题

-m     This option allows you to specify a shell command to use for sending Cron mail  output  instead  of
      using  sendmail(8)  This command must accept a fully formatted mail message (with headers) on stan‐
      dard input and send it as a mail message to the recipients specified in the mail headers.  Specify‐
      ing the string off (i.e., crond -m off) will disable the sending of mail.

那么我怎样才能彻底全局禁用 cron 电子邮件?

答案1

当必须使用 vixie-cron 时,在 cron 顶部添加 MAILTO="" 是解决方案。没有全局方法(所有选项都存储在相应用户的 crontab 中)。这

计划任务然后每分钟醒来一次,检查所有存储的 crontab,检查每个命令以查看是否应该在当前分钟运行。 执行命令时,任何输出都会邮寄给 crontab 的所有者(或者发送给 crontab 中 MAILTO 环境变量中指定的用户,如果存在的话)。运行这些进程的 cron 子副本的名称被强制为大写,正如在 syslog 和 ps 输出中看到的那样。

没有额外的配置,所以总是执行(也可以通过在命令本身中添加>/dev/null 2>&1&>/dev/null来终止邮件的发送;但这比编辑所有 crontabs 的工作量要大)。

该链接还指出:

每个用户都可以有自己的 crontab,尽管这些文件位于 中/var/spool/cron/crontabs它们不打算直接编辑

我看到 3 种可能的选择:

  • 我喜欢的方法是使用 编辑所有 crontab crontab -e

  • 使用另一个具有全局设置 MAILTO 方法的 cron(哪个 cron 以及如何执行此操作是另一个问题;))

  • 忽略警告,使用 for/next 循环从命令行编辑所有文件。我理解为“如果你真的真的真的真的真的想,你就可以。”。请注意以下 2 个主题中关于此内容的评论:ubuntu论坛服务器故障据我所知,您面临的唯一问题(如果操作正确!)是如果有人使用,您的更改将被覆盖crontab -e。但如果你们都同意,如果有人确实更改了 crontab,crontab -e他们还必须包含 MAILTO='',那么应该可以解决这一问题(因为您所做的更改被新的 crontab 覆盖,但该 crontab 也包含您的更改)。

相关内容