Como impedir que o cron envie emails quando não há nada em STDOUT ou STDERR?

4

Ubuntu 14.04lts com Perl 5.18.2.

Este é um caso especial em que o Google não me ajudou. Eu não quero desligar e-mail para todos os trabalhos cron, eu tenho cerca de 15 postos de trabalho no meu crontab. Preciso ver os emails que o cron me envia se houver erros.

Esse trabalho é um caso especial para o qual eu preciso de uma solução. Eu tenho um script bash no meu crontab que chama um script perl que é configurado para verificar e-mails a cada 5 minutos. (Não é possível configurar um MTA completo.) Se não houver e-mail, o script não gerará nada para STDOUT ou STDERR, mas o cron ainda me envia um e-mail em branco com o caminho completo do script bash no assunto.

  1. Eu quero que o cron e o script Perl me enviem e-mail se o script perl encontrar e-mails e processá-los, incluindo se houver erros.
  2. Eu não quero que o cron me envie um email em branco se não houver saída do script Perl porque nenhum email foi encontrado. O script é executado a cada 5 minutos.

Alguém tem alguma ideia?

EDIT: Confirmado. Era uma nova linha que era meu problema. Problema resolvido. O Cron não envia um email se não houver saída. Obrigado! Seu comentário ajudou.

    
por Bulrush 22.12.2014 / 20:23

1 resposta

2

Era uma nova linha que causa o email em branco a cada 5 minutos.

O Cron só envia um email se o trabalho cron / programa executado tiver saída. Minha saída foi uma nova linha, que, claro, não consegui ver no Alpine, mas estava lá. Eu encontrei a nova linha que meu programa estava imprimindo e removi.

Agora eu projeto meus programas cron para nunca produzir nada a menos que passe da verificação de parâmetro.

    
por Bulrush 23.12.2014 / 17:06

Tags