Como desabilitar o envio de mensagens do trabalho cron para o usuário root

4

Eu tenho a seguinte linha no meu arquivo /etc/cron.d/apache2watch

* * * * * root /bin/apache2-restart.sh &> /dev/null

Atualmente, estou recebendo centenas de e-mails para root por causa disso. Eu não sei por que o root ainda está recebendo e-mails a cada segundo ou me dizendo que o trabalho do cron foi executado - mesmo que eu tenha redirecionado claramente as saídas para / dev / null

Alguém pode explicar por que o root continua a receber e-mails e como posso mudar esse comportamento?

Estou executando no Ubuntu 10.04 LTS

    
por oompahloompah 07.04.2011 / 09:00

4 respostas

7

Você ainda está recebendo e-mails provavelmente porque você apenas redirecionou a saída padrão para / dev / null. Seu script de shell provavelmente grava também no stderr, então o redirecionamento correto seria como:

* * * * * root /bin/apache2-restart.sh > /dev/null 2>&1
    
por 07.04.2011 / 09:06
6

Insira MAILTO="" antes de você crontab line.

    
por 07.04.2011 / 09:14
2

por que você não define MAILTO="" no usuário particular aqui 'root' crontab. Isso desabilitará o registro de mensagens de e-mail em / var / spool / mail /

    
por 11.07.2011 / 08:32
1

Você redirecionou as saídas para / dev / null, mas apenas se estiver usando o bash como seu shell crontab. Acredito que, por padrão, você estaria usando / bin / sh.

Para corrigir isso, eu recomendaria a solução da thor:

* * * * * root /bin/apache2-restart.sh > /dev/null 2>&1

A outra solução é mudar o CRON para usar o bash colocando isso no começo da sua entrada no crontab:

SHELL=/bin/bash
    
por 07.04.2011 / 22:14