Substituir MAILTO por uma única entrada de crontab


20

Temos uma conta de função no trabalho que possui um grande crontab. Seu MAILTO está apontado para um endereço compartilhado, para que muitos de nós sejam notificados se algo falhar.

Gostaria de adicionar uma entrada a este crontab, mas só quero que eu seja notificado se algo der errado. Existe uma maneira de alterar o MAILTO para esta entrada ou realizar meu objetivo?


Outra abordagem às sugeridas até agora é usar o recurso que o cron envia por e-mail ao usuário que está executando o trabalho; portanto, faça outro usuário apenas para esse trabalho e encaminhe seus e-mails para você.
Hayden Thring

Respostas:


21

Você sempre pode fazer:

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

11
As pessoas que aprovaram isso realmente testaram? Em caso afirmativo, qual implementação cron?
user1338062

Eu testei com o cron ICS / Vixie que acompanha o Ubuntu 14.04 ("3.0pl1-124ubuntu2") e funciona bem lá.
Nils Toedtmann

Feio, mas praticamente a única maneira de resolver isso. Trabalho!
Stamster 7/18

10

Você sempre pode canalizar toda a saída para o comando mail com o endereço correto em uma subshell. Enquanto não houver nada em STDOUT ou STDERR, o cron não enviará o email

10 * * * * sh -c 'thisoncommand 2> & 1 | mail otheraddress@foo.com '


11
Isso não funciona - o comando "mail" envia independentemente de obter ou não a saída. Então, recebo uma mensagem vazia sobre o sucesso, enquanto o que quero não é uma mensagem sobre o sucesso.
mike

5
Agradável! E para evitar e-mails vazios do comando mail, use este parâmetro: -e (ou -E para alguns ..) #

3

Não me lembro se o cron prepara o arquivo para ler nos MAILTOvários ambientes, por isso não tenho certeza se você pode alterar várias vezes em um único arquivo. Mas você sempre pode dividi-lo em outro arquivo e inseri-lo /etc/cron.d/foocom a MAILTO=some@email.tld.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.