Kann ich den Standard-E-Mail-Empfänger bei Cron-Aufträgen ändern?

12

Ich glaube, dass die Ausgabe eines Cronjobs an den Benutzer gesendet wird, dem der Job gehört. Ich denke, Sie können auch so etwas wie [email protected]oben in der Cron-Datei hinzufügen, um zu ändern, wohin die Ausgabe gesendet wird.

Kann ich eine Option festlegen, damit Cron-Jobs systemweit per E-Mail root an den Benutzer gesendet werden, der sie ausführt ? (dh damit ich dies nicht in der Cron-Datei jedes Benutzers einstellen muss)

cwd
quelle

Antworten:

9

/etc/crontabDatei prüfen und dort eintragen MAILTO=root. Könnte auch in der /etc/rcDatei benötigen

crondScheint die MAILTO-Variable zu akzeptieren. Ich bin mir nicht sicher, aber es lohnt sich, die Umgebungsvariable für crond zu ändern, bevor sie gestartet wird. Wie in /etc/sysconfig/crondoder /etc/rc.d/init.d/crondSkript, das die frühere Datei erzeugt.

Beispiel:

[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage:  %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL
Nikhil Mulley
quelle
Vielen Dank! +1. Vielleicht den unteren Teil Ihrer Antwort in ein Vorformat / Code-Format setzen?
KWD
7

Setzen Sie MAILTO=rootin /etc/default/cron. Diese Datei enthält die Standardeinstellungen von cron.

man 5 crontab sagt,

Wenn MAILTO definiert ist (und nicht leer ist), wird E-Mail an den so genannten Benutzer gesendet.

Siehe: http://man.cx/cron(1)#heading4

Sachin Divekar
quelle
wo? für jede Benutzer-Crontab-Datei?
Nikhil Mulley
@ Nikhil überprüfen meine aktualisierte Antwort.
Sachin Divekar
1
es funktioniert nur für die Benutzer, deren crontab es hat. Funktioniert es, wenn einer der Benutzer diese Variable nicht gesetzt hat? Ich denke, @Cwd hat speziell nach einer globalen Einstellung gefragt, die für alle Benutzer gilt.
Nikhil Mulley
@SachinDivekar -1 Nikhil ist richtig. Sie haben auch meine Frage bearbeitet und ihre Bedeutung geändert. Die bearbeitete Bedeutung stimmt mit Ihrer Antwort überein, aber das ist nicht das, was ich gefragt habe.
KWD
2
Das funktioniert bei mir nicht. Ich habe die Mailto in der Standarddatei und neu gestartet cron Dienst eingerichtet, aber es ist das Senden noch zu root (Ich versuche , an eine externe E - Mail - Adresse zu senden)
peedee