Как остановить отчет по электронной почте от Cron <root @ machine> (ежечасно)

15

Я использую Ubuntu 12.04, я настроил «ssmtp» с моей учетной записью Gmail, и теперь я каждый час получаю электронное письмо с отчетом, это пример:

From: root <my@gmail.com> Date: 2012/8/13 Subject: Cron <root@one> [
-x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth
-mindepth 1 -maxdepth 1 -type f -cmin
+$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete To: root

Failed loading /usr/lib/php5/20090626/xdebug.so: 
/usr/lib/php5/20090626/xdebug.so: cannot open shared object file: No
such file or directory

Еще немного информации:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"

Больше...

$ sudo crontab -l -u root
no crontab for root

Больше...

$ nano /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

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 
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts
--report /etc/cron.weekly ) 
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Я прокомментировал строку 17 * * * * root cd / && run-parts --report /etc/cron.hourly, но электронная почта все еще прибывает.

user83162
источник

Ответы:

13

Просто добавьте ниже к /etc/crontab

MAILTO=""

чтобы остановить crontab от отправки электронной почты полностью отредактируйте /etc/sysconfig/crondи добавьте это CRONDARGS='-m off'.
Сохраните и перезапустите Crond.

udienz
источник
Похоже, эта строка должна быть добавлена ​​в каждый файл crontab, который нужно заставить замолчать (по крайней мере, из моего тестирования). Также нужно учитывать , что crons пользователь живет в другом месте: serverfault.com/a/325344/210994
ThorSummoner
@ThorSummoner При упоминании " ... каждого файла crontab ... " это находится в самом crontab или в скрипте под строкой shebang?
3kstc
8

Когда cron запускает процесс, он захватывает любой вывод, который достигает stdout и stderr, и отправляет его в электронном письме. Чтобы предотвратить эти электронные письма, вы можете перенаправить stdout и stderr либо в файл журнала, который вы отслеживаете, либо в / dev / null, если вам все равно.

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly 2>&1 > /dev/null
Дон симон
источник
Здравствуй! Спасибо, что ответили мне так быстро! Я обнаружил эту проблему, которая, как мне кажется, вызывает проблему: bugs.launchpad.net/ubuntu/+source/php5/+bug/876387 Итак, пока проблема не будет решена, я собираюсь применить ваше решение! Еще раз спасибо! nonox
user83162
Мне нравится этот ответ, потому что он может отключить почту для конкретной работы, а не MAILTO = "", которая отключит всю почту cron.
Майк