Como parar o relatório de email do Cron <root @ machine> (a cada hora)

15

Estou executando um Ubuntu 12.04, configurei "ssmtp" com minha conta do gmail e agora recebo a cada hora um email com um relatório, este é um exemplo:

From: root <[email protected]> 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

Mais algumas informações:

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

Mais...

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

Mais...

$ 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 )
#

Eu comentei a linha 17 * * * * root cd / && run-parts --report /etc/cron.hourly, mas o e-mail ainda está chegando.

user83162
fonte

Respostas:

13

Basta adicionar abaixo para /etc/crontab

MAILTO=""

para impedir que o crontab envie e-mail edite totalmente /etc/sysconfig/cronde adicione isso CRONDARGS='-m off'.
Salve e reinicie o crond.

udienz
fonte
Parece que esta linha deve ser adicionada a todos os arquivos crontab que foram silenciados (pelo menos nos meus testes). Também cuidado com que crons usuário viver em outro lugar: serverfault.com/a/325344/210994
ThorSummoner
@ThorSummoner Quando mencionar " ... todo arquivo crontab ... " está no próprio crontab, ou no script, abaixo da linha shebang?
3kstc
8

Quando o cron inicia um processo, captura qualquer saída que atinja stdout e stderr e a envia por email. Para evitar esses e-mails, você pode redirecionar o stdout e o stderr, para um arquivo de log que você monitora, ou / dev / null, se você não se importa.

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly 2>&1 > /dev/null
Don Simon
fonte
Oi! Obrigado por me responder tão rapidamente! Eu encontrei este problema que acho que está causando o problema: bugs.launchpad.net/ubuntu/+source/php5/+bug/876387 Portanto, até que o problema seja resolvido, eu aplicarei sua solução! Obrigado novamente! NONOX
user83162
Eu gosto desta resposta porque ela pode desativar os e-mails para um trabalho específico, em vez do MAILTO = "", que desativaria todos os e-mails do cron.
Mike