So stoppen Sie den E-Mail-Bericht von Cron <root @ machine> (stündlich)

15

Ich verwende Ubuntu 12.04, habe "ssmtp" mit meinem Google Mail-Konto konfiguriert und erhalte jetzt jede Stunde eine E-Mail mit einem Bericht. Dies ist ein Beispiel:

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

Noch ein paar Infos:

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

Mehr...

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

Mehr...

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

Ich habe die Zeile kommentiert 17 * * * * root cd / && run-parts --report /etc/cron.hourly, aber die E-Mail kommt immer noch an.

user83162
quelle

Antworten:

13

Einfach unten hinzufügen /etc/crontab

MAILTO=""

Um zu verhindern, dass crontab E-Mails versendet, müssen /etc/sysconfig/crondSie diese vollständig bearbeiten und hinzufügen CRONDARGS='-m off'.
Crond speichern und neu starten.

udienz
quelle
Es scheint, dass diese Zeile zu jeder Crontab-Datei hinzugefügt werden muss, die zum Schweigen gebracht werden soll (zumindest aus meinen Tests). Beachten Sie auch, dass Benutzer-Crons an anderer Stelle leben: serverfault.com/a/325344/210994
ThorSummoner
@ThorSummoner Wenn Sie " ... jede crontab-Datei ... " erwähnen, steht das in der crontab selbst oder im Skript unter der shebang-Zeile?
3.
8

Wenn cron einen Prozess startet, erfasst es alle Ausgaben, die stdout und stderr erreichen, und sendet diese in einer E-Mail. Um diese E-Mails zu verhindern, können Sie stdout und stderr entweder in eine von Ihnen überwachte Protokolldatei oder in / dev / null umleiten, wenn es Ihnen egal ist.

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly 2>&1 > /dev/null
Don Simon
quelle
Hallo! Danke, dass du mir so schnell antwortest! Ich habe dieses Problem gefunden, von dem ich denke, dass es das Problem verursacht: bugs.launchpad.net/ubuntu/+source/php5/+bug/876387 Also, bis das Problem behoben ist, werde ich Ihre Lösung anwenden! Danke noch einmal! nonox
user83162
Ich mag diese Antwort, weil sie Mails für einen bestimmten Job deaktivieren kann, anstatt die MAILTO = "", die alle Cron-Mails deaktivieren würde.
Mike