Programa / script para limitar a saída do cronjob

2

Versão resumida: Existe um programa pronto para uso para evitar o ping repetidamente ser agendado com frequência nos períodos em que ele falha? Eu tenho uma implementação personalizada, mas parece algo com que alguém já teria lidado.

Eu tenho um script no meu servidor doméstico para buscar meu e-mail do meu servidor ISP para armazenar localmente. Mais frequentemente do que eu gostaria, a Comcast desce por uma hora ou mais e eu recebo dezenas de mensagens do cron (uma a cada dois minutos) informando que o fetchmail falhou. Eu configurei um script para ler a saída do cron job (em branco no sucesso) e sempre colocá-lo em um arquivo de log, mas apenas colocá-lo no stdout - e, portanto, no meu email - se ele for pelo menos 20 minutos desde o último erro ocorrido.

Eu não posso ser o único administrador de sistema com esse problema. Em resumo, a tarefa é executada com frequência e eu só quero atualizações periódicas enquanto ela está falhando, não um fluxo constante de erros. Existe uma solução pronta que eu perdi?

O script é o seguinte; Como você pode ver, é bem básico, por exemplo nenhuma indicação quando os erros param:

#!/bin/bash
logpath=/var/log/$1.log
minutes=$2
latestlogpath=${logpath}.latest

cat >> "${latestlogpath}"
([ ! -e "${logpath}" ] || [[ $(date +%s -r "${logpath}") -lt $(date +%s --date="${minutes} min ago") ]] ) && {
  cat "${latestlogpath}"
  cat "${latestlogpath}" >> "${logpath}"
  rm "${latestlogpath}"
}
    
por Peter Bailey 26.02.2016 / 21:38

0 respostas

Tags