Eu tenho um job pllist launchd que executa um script de shell simples que invoca rdiff-backup para fazer backup de um diretório remoto através de SSH para o meu computador. O trabalho é executado a cada hora e funciona bem.
Exceto o outro dia houve uma falha de energia * e o trabalho de rdiff-backup foi interrompido. Na próxima vez em que o launchd executou o script, o rdiff-backup falhou e registrou sua falha no caminho especificado no plist. O launchd, percebendo o código de saída anormal, parou de tentar executar o script.
E eu não tinha ideia por seis dias.
Obviamente, não quero uma notificação do código de saída cada hora em que o script termina. O que posso fazer para ser notificado apenas de saídas anormais?
(*) Acontece que a bateria do meu no-break estava passando no autoteste quando invocada, mas na verdade não tinha a capacidade de alimentar uma carga mínima por mais de 3 segundos.