Переопределить MAILTO для одной записи в crontab


20

У нас есть ролевая учетная запись на работе, которая имеет довольно большой crontab. Его MAILTO указывает на общий адрес, поэтому некоторые из нас получают уведомление, если что-то не получается.

Я хотел бы добавить запись в этот crontab, но я только хочу, чтобы я был уведомлен, если что-то пойдет не так. Есть ли способ изменить MAILTO для этой записи или иным образом достичь моей цели?


Другой подход к предложенным на данный момент заключается в использовании функции, которая cron отправляет электронное письмо пользователю, выполняющему работу, поэтому создайте другого пользователя только для этой работы и перешлите его электронные письма вам.
Хайден Тринг

Ответы:


21

Вы всегда можете просто сделать:

MAILTO=you
* * * ...  your cron job
MAILTO=normal.destination

1
Люди, которые проголосовали за это, действительно проверили это? Если да, то какая реализация cron?
user1338062

Я протестировал его с помощью cron ICS / Vixie, который поставляется с Ubuntu 14.04 («3.0pl1-124ubuntu2»), и там он хорошо работает.
Нильс Тёдтманн

Уродливый, но в значительной степени единственный способ разобраться в этом. Работает!
Stamster

10

Вы всегда можете направить весь вывод в команду mail с правильным адресом в подоболочке. Пока на STDOUT нет ничего или STDERR cron не отправит электронное письмо

10 * * * * sh -c 'thisonecommand 2> & 1 | почта otheraddress@foo.com '


1
Это не работает - команда «mail» отправляет независимо от того, получает ли он вывод. Так что я получаю пустое сообщение об успехе, в то время как я хочу, чтобы сообщение об успехе не было.
микрофон

5
Ницца! И чтобы избежать пустых писем из почтовой команды, используйте этот параметр: -e (или -E для некоторых ..)

3

Я не могу вспомнить, готовит ли cron файл для чтения в среде vars, поэтому я не уверен, что вы можете изменить MAILTOнесколько раз в одном файле. Но вы всегда можете разделить его на другой файл и вставить /etc/cron.d/fooс помощью MAILTO=some@email.tld.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.