Frage Wie sende ich die Ausgabe von einem Cronjob an mehrere E-Mail-Adressen?


Am Anfang einer Crontab - Datei können Sie den MAILTO Anweisung, um anzugeben, dass die Ausgabe als E-Mail an eine E-Mail-Adresse gesendet werden soll. Ich möchte die Ausgabe an mehrere Adressen senden. Ist es möglich (und wie) mehrere Adressen anzugeben?


51
2018-04-16 11:11


Ursprung




Antworten:


Es kann je nach verwendetem Cron-Daemon-Paket unterschiedlich sein, aber das kommt von der Hilfeseite von Vixie Cron auf Ubuntu Hardy:

Wenn MAILTO definiert ist (und nicht leer),   Mail wird an den so benannten Benutzer gesendet.   MAILTO kann auch zum Mailen verwendet werden   zu mehreren Empfängern durch Trennen   Empfänger Benutzer mit einem Komma. Ob   MAILTO ist definiert, aber leer   (MAILTO = ""), keine Mail wird gesendet.   Andernfalls wird die Mail an den Besitzer gesendet   die Crontab.

Wenn Sie nicht mit Vixie Cron arbeiten oder sich nicht sicher sind, versuchen Sie die Handbuchseite für die Crontab-Datei: man 5 crontab

Beispiel

MAILTO="user.one@domain.one,user.two@domain.two"

68
2018-04-16 11:18



Eine Sache zu beachten - zu verwenden gerade ein Komma zwischen den Adressen. Verwenden Sie auch keinen PlatzAndernfalls protokolliert Cron die Adresse (wahrscheinlich in / var / log / cron oder / var / log / daemon) als "UNSAFE" und wird es ablehnen, an diese Adressenliste zu senden. - David Gardner
Beim Trennen von Adressen mit Leerzeichen stattdessen von Kommas ist mir das passiert cron verschickt Mails an die erste Adresse nur (und crontab hatte sich beim Speichern von Änderungen nicht beschwert, das ist ein Schande). Es gibt Fehler im Syslog ((CRON) error (bad mailto)), aber niemand hat es bemerkt ... - Tobias


Als Alternative zu den obigen Antworten können Sie sie an eine einzelne Adresse senden, bei der es sich um eine Mail-Gruppe handelt. Dies funktioniert besonders gut, wenn Sie mehrere Server verwalten, da es einfacher ist, Adressen in der Gruppe auf einem Mailserver zu verwalten als in Crontab jedes einzelnen Servers.


8
2018-03-24 05:41



IMHO das ist die richtige Antwort. Wer möchte einzelne Listen von E-Mail-Adressen in verschiedenen Crontabs pflegen? - Satanicpuppy
Ich habe eine einfache Liste erstellt: 1. Fügen Sie als root einen "virtuellen Empfänger" hinzu /etc/aliases indem Sie eine Zeile wie folgt hinzufügen: cron-listeners: fred@example.com, george@example.com 2. In der Crontab setzen MAILTO=cron-listeners Wenn Sie keinen Root-Zugang haben, können Sie das versuchen .forward Methode stattdessen. - joeytwiddle


Eine Lösung könnte eine sein .forward Datei auf diesem Benutzerkonto, die E-Mail an die entsprechenden Adressen sendet.


3
2018-04-16 11:15



+1. Forward-Datei ist der Weg zu gehen. - sleske


Die beste Antwort ist wahrscheinlich, entweder Ihre man-Seiten für die aktuelle Version von cron / crontab zu überprüfen, um zu sehen, ob etwas mit dem MAILTO-Parameter gemacht werden kann oder eine Mail-Adresse anzugeben, die ihrerseits Mail an mehrere Adressen weiterleitet.


0
2018-04-16 11:55





Hinzufügen , nach jeder E-Mail, z. B .: MAILTO="some.user1@example.com,some.user2@example.com"


0
2018-02-03 16:36



In der Dokumentation sind die E-Mails durch ein Komma getrennt, Sie verwenden hier ein Semikolon. Sind Sie sicher, dass diese Syntax funktioniert? - physicalattraction
@MichaelHampton der ; funktioniert nicht - 030
@ Alfred Das ist mir wohl bewusst. So ist die andere Person, die kommentiert hat! - Michael Hampton♦
@ kasperd Weil es nicht angemessen ist, die Bedeutung der Beiträge anderer zu ändern. Das ist nur für das Poster, und bisher hat er beschlossen, es nicht zu korrigieren. Falsche Antworten sollten stattdessen abgelehnt und kommentiert werden. - Michael Hampton♦
Korrigiert meinen Beitrag. Ich weiß nicht, wie es im Jahr 2010 funktionierte. Als @ ThatGraemeGuy in einem obigen Beitrag. Könnte vom Cron-Paket abhängen. - dannyb2100