mdadm cron 作业发送 cron 已运行的电子邮件

mdadm cron 作业发送 cron 已运行的电子邮件

我有一台 Ubuntu 8.04 服务器,使用 mdadm 创建了多个 RAID1 阵列。我创建/etc/cron.hourly/mdadm如下:

#! /bin/sh

set -e

mdadm --monitor /dev/md0 /dev/md3 /dev/md4 --oneshot

(是的,数组编号不是连续的,我没有使用,--scan因为我有一个降级的数组,它可能被用作交换,也可能没有被用作交换,而且我无法删除,但我认为这是一个单独的问题。如果这是造成这种情况的根本原因,我需要修复它。)

mdadm/etc/mdadm/mdadm.conf在 DegradedArray 等事件发生时向我发送电子邮件(在 中配置)。这是期望的行为。我不希望并且无法弄清楚的是,为什么要cron通过别名向我发送(相对无意义的)电子邮件/etc/aliases

From: root@<hostname> (Cron Daemon)
To: root@<hostname>
Subject: Cron <root@<hostname>>    cd / && run-parts --report /etc/cron.hourly
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <id@hostname>
Date: Fri,  7 May 2010 13:17:01 +0930 (CST)

/etc/cron.hourly/mdadm:
mdadm: Monitor using email address "<root_alias@domain>" from config file

我有十几台其他服务器运行正常(mdadm发送电子邮件,cron不发送电子邮件),并且/etc/crontab文件相同:

# /etc/crontab: system-wide crontab
# <snip comments>

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
<snip anacron jobs>

我应该简单地删除吗--report,或者我的配置中是否有其他东西cron导致了这种情况?

答案1

当作业在 stdout 或 stderr 上产生输出时,Cron 将发送电子邮件。将这些重定向到 /dev/null 是避免这种情况的常用方法。

run-parts 的参数--report在作业输出之前打印脚本名称。在本例中,它会/etc/cron.hourly/mdadm:在 mdadm 的输出之前添加到您的电子邮件中。删除它会通过删除一些有用的信息来缩短电子邮件,但不会阻止它们被发送。

相关内容