cron: envia email para endereço diferente em caso de falha

3

Eu tenho um cronjob assim:

[email protected]
30 00 * * * root /run/this/script.sh

Existe uma maneira de dizer ao cron para enviar e-mail para diferentes endereços de e-mail com base no código de saída? Quer dizer, pode o cron enviar um email para [email protected] no caso de script.sh retornar 0 ou enviar para [email protected] no caso de algo dar errado? Ou eu tenho que fazer isso em um script wrapper?

    
por moretti.fabio 09.11.2015 / 01:03

3 respostas

4

Você terá que fazer isso em um script de wrapper.

    
por 09.11.2015 / 01:08
1

Não, o cron envia todas as saídas para o usuário especificado.

Normalmente, todas as tarefas agendadas devem ter o STDOUT redirecionado para / dev / null, porque você não deseja enviar spam ao usuário com todas as tarefas cron executadas no servidor.

Se você fizer isso (o redirecionamento), receberá o e-mail apenas em caso de falhas.

    
por 09.11.2015 / 10:35
0

Confira o link . Pode enviar-lhe alertas se o seu trabalho falhar. Você escreve seu comando cron assim:

0 * * * * /path/to/my_cron_job.sh || curl https://cronitor.link/d3x0/fail

Você também pode fazer ping em um endpoint / complete para indicar sucesso e você pode criar uma regra como "Alertar-me se eu não tiver tido sucesso / complete o ping em 24 horas".

    
por 11.11.2015 / 05:20