Замініть MAILTO для одного запису на кронтабелі


20

У нас є рольовий рахунок на роботі, який має досить великий заголовок. Її MAILTO вказано на спільну адресу, так що деякі з нас отримують сповіщення, якщо щось не працює.

Я хотів би додати запис до цього місця, але хочу, щоб я був сповіщений лише тоді, коли щось піде не так. Чи є спосіб змінити MAILTO для цього одного запису чи іншим чином виконати мою мету?


Іншим підходом до запропонованих поки що є використання функції, що cron надсилає електронній пошті користувачеві, який виконує цю роботу, тож зробіть іншого користувача саме для цієї роботи та перешліть вам свої електронні листи.
Hayden Thring

Відповіді:


21

Ви завжди можете просто:

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

1
Чи справді люди, які підтримали це, випробовували це? Якщо так, то яка реалізація крона?
user1338062

Я перевірив його на ICS / Vixie cron, який постачається з Ubuntu 14.04 ("3.0pl1-124ubuntu2"), і він там добре працює.
Нілс Тодтманн

Некрасивий, але майже єдиний спосіб розібратися в цьому. Працює!
stamster

10

Ви завжди можете передавати весь вихід в поштову команду з правильною адресою в підрозділі. Поки на STDOUT або STDERR cron нічого не буде надіслано електронною поштою

10 * * * * sh -c 'цезв'язок 2> & 1 | пошта otheraddress@foo.com '


1
Це не працює - команда "пошта" надсилає незалежно від того, отримана вона чи ні. Тож я отримую порожнє повідомлення про успіх, тоді як те, що я хочу, - це не повідомлення про успіх.
Майк

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.