Вопрос: Как отправить вывод cronjob на несколько адресов электронной почты?


В начале файла crontab вы можете использовать MAILTO чтобы указать, что вы хотите отправить сообщение в виде электронной почты на адрес электронной почты. Я хотел бы отправить вывод на несколько адресов. Возможно (и как) указать несколько адресов?


49
2018-04-16 11:11


Источник




Ответы:


Он может отличаться в зависимости от того, какой пакет демона cron вы используете, но это из справочной системы Vixie Cron на Ubuntu Hardy:

Если MAILTO определен (и не пуст),   mail отправляется пользователю с таким именем.   MAILTO может также использоваться для направления почты   нескольким получателям путем разделения   получателей с запятой. Если   MAILTO определен, но пустой   (MAILTO = ""), никакая почта не будет отправлена.   В противном случае почта отправляется владельцу   Кронтаб.

Если вы не используете Vixie Cron или не уверены, попробуйте страницу руководства для файла crontab: man 5 crontab

пример

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

65
2018-04-16 11:18



Одно замечание - используйте просто запятая между адресами. Не используйте также пространство, в противном случае cron будет записывать адрес (возможно, в / var / log / cron или / var / log / daemon) в качестве «UNSAFE» и откажется отправить этот список адресов. - David Gardner
При разделении адресов с пробелами вместо из запятых мне было так, что cron отправил письма на первый адрес только (а также crontab не жаловались при сохранении изменений, позор). В syslog есть ошибки ((CRON) error (bad mailto)), но никто не заметил ... - Tobias


В качестве альтернативы вышеприведенным ответам вы можете отправить его на один адрес, который является почтовой группой. Это работает особенно хорошо, если вы управляете несколькими серверами, поскольку проще управлять адресами в группе на почтовом сервере, а затем в crontab каждого отдельного сервера.


7
2018-03-24 05:41



ИМХО это правильный ответ. Кто хочет поддерживать отдельные списки адресов электронной почты в разных crontabs? - Satanicpuppy
Я создал простой список: 1. Как root, добавьте «виртуального получателя» в /etc/aliases добавив такую ​​строку: cron-listeners: fred@example.com, george@example.com 2. В кронтабе, установите MAILTO=cron-listeners Если у вас нет доступа root, вы можете попробовать .forward вместо этого. - joeytwiddle


Одним из решений может быть .forward файл в этой учетной записи пользователя, которая отправляет почту на соответствующие адреса.


3
2018-04-16 11:15



Файл +1 .forward - путь. - sleske


Лучшим ответом, вероятно, является либо проверка ваших страниц руководства для текущей версии cron / crontab вашего дистрибутива, чтобы узнать, есть ли что-то, что можно сделать с параметром MAILTO, или указать почтовый адрес, который, в свою очередь, перенаправляет почту на несколько адресов для вас.


0
2018-04-16 11:55





Добавить , после каждого электронного письма, например: MAILTO="some.user1@example.com,some.user2@example.com"


0
2018-02-03 16:36



В документации электронные письма разделяются запятой, здесь используется точка с запятой. Вы уверены, что этот синтаксис работает? - physicalattraction
@MichaelHampton ; не работает - 030
@Alfred Мне это хорошо известно. Так прокомментировал другой человек! - Michael Hampton♦
@kasperd Потому что нецелесообразно изменять значение сообщений других. Это только для плаката, и до сих пор он решил не исправлять его. Неправильные ответы следует отложить и прокомментировать. - Michael Hampton♦
Исправил мой пост. Не знаю, как это работает в 2010 году. Как @ThatGraemeGuy в вышеприведенном сообщении. Может зависеть от пакета Cron. - dannyb2100