E-mails do Cron são enviados mesmo ao redirecionar para / dev / null 2 & 1

2

O código abaixo deve redirecionar toda a saída para / dev / null, entretanto o root ainda recebe um email com saída do primeiro comando (/ usr / bin / svnadmin). Por quê?

#!/bin/sh
# Dump repo and upload via tarsnap

/usr/bin/svnadmin dump /srv/repos/www | gzip > /srv/repos/backup/www-repo-'date --iso-8601'.gz > /dev/null 2>&1
/usr/local/bin/tarsnap -c -f www-repo-'date --iso-8601' /srv/repos/backup/www-repo-'date --iso-8601'.gz > /dev/null 2>&1
    
por Michelle 16.08.2012 / 11:08

2 respostas

2

Você canalizou os segundos comandos STDOUT e STDERR para / dev / null e canalizou somente o STDOUT do primeiro comando para o segundo comando. Então, o STDERR do primeiro comando é enviado por e-mail para você.

Você deve escrever

( /usr/bin/svnadmin dump /srv/repos/www | gzip > /srv/repos/backup/www-repo-'date --iso-8601'.gz ) > /dev/null 2>&1
    
por 16.08.2012 / 13:38
0

Com minha reputação, não posso adicionar comentários, por isso vou ter que enviar uma resposta embora não tenha certeza de que esse seja o caso.

Como é o seu crontab? Eu não acho que seja o seu script que envia o e-mail, o cron / crontab está fazendo isso. Então, por favor, mostre-nos o conteúdo do seu crontab (crontab -e).

Eu posso estar errado (na verdade eu usei o cron pela primeira vez ontem), mas eu acho que você deveria ter a parte > /dev/null 2>&1 no seu crontab ao invés de no seu arquivo de script. Então, o seu crontab poderia ser algo como isto:

@hourly /your/script/location > /dev/null 2>&1

Espero que isso ajude.

    
por 16.08.2012 / 13:03

Tags