我有一台 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 的输出之前添加到您的电子邮件中。删除它会通过删除一些有用的信息来缩短电子邮件,但不会阻止它们被发送。