Por que o cron me envia a saída do programa mesmo que eu tenha redirecionado para / dev / null?

2

Estou tentando reiniciar um processo do sistema por meio do cron e recebendo a saída de inicialização do processo por e-mail. Eu pensei que redirecionar STDOUT e SDTERR para / dev / null iria "silenciar" a saída, mas, infelizmente, isso não funcionou. Como posso obter o cron para reiniciar este serviço silenciosamente? entrada crontab:

0 6 * * * service sympa stop &>/dev/null; service sympa start &> /dev/null

exemplo de saída do email de reinicialização:

 Stopping Sympa bounce manager bounced
   ...done.
 * Stopping Sympa task manager task_manager
   ...done.
 * Stopping Sympa mailing list archive manager archived
   ...done.
 * Stopping Sympa mailing list manager sympa
   ...done.
 ... waiting Prototype mismatch: sub Lock::LOCK_SH () vs none at /home/sympa/bin/Lock.pm line 38.
Constant subroutine LOCK_SH redefined at /home/sympa/bin/Lock.pm line 38.
Prototype mismatch: sub Lock::LOCK_EX () vs none at /home/sympa/bin/Lock.pm line 39.
Constant subroutine LOCK_EX redefined at /home/sympa/bin/Lock.pm line 39.
Prototype mismatch: sub Lock::LOCK_NB () vs none at /home/sympa/bin/Lock.pm line 40.
Constant subroutine LOCK_NB redefined at /home/sympa/bin/Lock.pm line 40.
    
por Server Fault 01.11.2013 / 14:44

1 resposta

5

Acho que você gostaria da seguinte linha

service sympa stop >/dev/null 2>&1 .

O primeiro comando envia stdout para /dev/null , em seguida, 2>&1 faz com que stderr (standard error) seja enviado para onde stdout(standard output) está indo, o que é /dev/null resultando na supressão da saída.

    
por 01.11.2013 / 15:21

Tags