Ich habe Cronjob für den Root-Benutzer eingerichtet. Wenn der Cron jedoch ausfällt, sollte ich eine E-Mail vom Cronjob erhalten, da ich MAILTO in / etc / crontab wie folgt eingestellt habe:
[email protected]
Ich habe mailx mit installiert
yum install mailx
Aber wenn ich mir das Cron-Protokoll ansehe, bekomme ich folgende Zeilen:
Feb 23 14:13:01 internal crond[6858]: (root) CMD (/var/www/vded/build/bin/sync.sh)
Feb 23 14:13:01 internal crond[6857]: (root) MAIL (mailed 79 bytes of output but got status 0x0001 )
Wie kann ich das beheben?
UPDATE:
- Ich habe mailx und sendmail mit yum installiert.
- Ich habe sendmail gestartet.
- Jetzt funktioniert das Senden einer E-Mail über die Befehlszeile!
Ich bekomme diesen Fehler im Maillog:
Feb 23 16:06:01 internal sendmail[7210]: o1NG61cd007210: from=root, size=425, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Feb 23 16:06:01 internal sendmail[7211]: o1NG61hT007211: from=<[email protected]>, size=732, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Feb 23 16:06:01 internal sendmail[7210]: o1NG61cd007210: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30425, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o1NG61hT007211 Message accepted for delivery)
Feb 23 16:06:01 internal sendmail[7212]: o1NG61hT007211: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30972, dsn=2.0.0, stat=Sent
internal.fff.com ist der Name des Servers.
UPDATE:
In der Tat funktioniert es , wenn ich das [email protected]
als erste Zeile meines Crontab (mit crontab -e
) setze .
Warum funktioniert es nicht durch die Einstellung MAILTO
in /etc/crontab
?
Vielen Dank
Antworten:
Um meine Frage zu beantworten:
yum install mailx
yum install sendmail
MAILTO
Linie in die Crontab mitcrontab -e
:[email protected]
und nicht in/etc/crontab
quelle
/etc/crontab
keine Standardeinstellungen angegeben sind. unix.stackexchange.com/questions/3724/…Sie können dies vereinfachen, indem Sie nullmailer anstelle von sendmail (oder exim4 oder postfix usw.) installieren.
Wenn es nicht funktioniert, wie es bei mir nicht der Fall war, und Sie an einen Webmail-Dienst wie Google Mail senden: Stellen Sie sicher, dass Sie keine Filter darauf gesetzt haben. Ich hatte tatsächlich einen Filter für alles von Cron, um den Posteingang zu umgehen. Deshalb habe ich nichts von meinen Cron-Jobs gesehen.
quelle
Ich habe
/var/log/maillog
gezeigt, dasscrontab
(mitMAILTO=root
) versucht hat, E-Mails an beide zu sendenroot
undroot@my_fqdn
(womy_fqdn
ist wie server.something.com). Laut Protokoll war das Senden anroot
erfolgreich undroot@my_fqdn
fehlgeschlagen, aber ich habe keine Nachricht gefunden/var/mail/root
. Hier ist der relevante/var/log/maillog
Ausschnitt:Jedoch pro diesen Tipp , Mail zeigt nun in
/var/mail/root
. Das Problem/etc/hosts
musste eine Zeile hinzugefügt werden, damitmy_fqdn
es als Domäne aufgelöst werden konnte (beachten Sie den Punkt am Ende):127.0.0.1 my_fqdn.
Hinweis: Dies funktioniert jetzt so, dass die Nachricht immer noch nicht richtig empfangen wird, aber auf eine Weise zurückprallt, in der sie landet
/var/mail/root
(siehestat=Local configuration error
unten im/var/log/maillog
Snippet).quelle