Comment arrêter le rapport par e-mail depuis Cron <root @ machine> (toutes les heures)

15

J'utilise Ubuntu 12.04, j'ai configuré "ssmtp" avec mon compte gmail et maintenant je reçois toutes les heures un email avec un rapport, voici un exemple:

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

Quelques informations supplémentaires:

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

Plus...

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

Plus...

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

J'ai commenté la ligne 17 * * * * root cd / && run-parts --report /etc/cron.hourly, mais l'email arrive toujours.

user83162
la source

Réponses:

13

Ajoutez simplement ci-dessous à /etc/crontab

MAILTO=""

pour empêcher crontab d'envoyer des e-mails, modifiez-le /etc/sysconfig/crondet ajoutez-le CRONDARGS='-m off'.
Enregistrez et redémarrez crond.

udienz
la source
Il semble que cette ligne doive être ajoutée à chaque fichier crontab voulu réduit au silence (au moins d'après mes tests). méfiez-vous également que les utilisateurs crons vivent ailleurs: serverfault.com/a/325344/210994
ThorSummoner
@ThorSummoner Lorsque vous mentionnez " ... chaque fichier crontab ... " se trouve-t-il dans la crontab elle-même, ou dans le script, sous la ligne shebang?
3kstc
8

Lorsque cron démarre un processus, il capture toute sortie qui atteint stdout et stderr et l'envoie dans un e-mail. Pour éviter ces e-mails, vous pouvez rediriger la stdout et la stderr, soit vers un fichier journal que vous surveillez, soit / dev / null, si cela vous est égal.

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly 2>&1 > /dev/null
Don Simon
la source
Salut! Merci de me répondre si vite! J'ai trouvé ce problème qui, je pense, est à l'origine du problème: bugs.launchpad.net/ubuntu/+source/php5/+bug/876387 Donc, jusqu'à ce que le problème soit résolu, je vais appliquer votre solution! Merci encore! nonox
user83162
J'aime cette réponse car elle peut désactiver les mails pour un travail spécifique, plutôt que le MAILTO = "" qui désactiverait tous les mails cron.
Mike