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 <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

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.

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.


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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.