Você terá que fazer isso em um script de wrapper.
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?
Você terá que fazer isso em um script de wrapper.
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.
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".