Existem 2 redirecionamentos lá. O último bit, 2>&1
está realmente mesclando STDERR com STDOUT. Isso me parece que alguém configurou isso para registrar a saída para o arquivo doit.log
, mas depois desejou desativá-lo.
Encadear redirecionamentos dessa maneira, basicamente nega os anteriores, de modo que somente a saída, se houver alguma, será direcionada para o último arquivo redirecionado.
Exemplo
$ echo "string" > 1.txt > 2.txt 2>&1
Resultando nestes arquivos:
$ ls -l 1.txt 2.txt
-rw-rw-r--. 1 saml saml 0 Dec 26 15:12 1.txt
-rw-rw-r--. 1 saml saml 7 Dec 26 15:12 2.txt
$ more 1.txt 2.txt
::::::::::::::
1.txt
::::::::::::::
::::::::::::::
2.txt
::::::::::::::
string
Então, como você pode ver o arquivo 1.txt
está vazio, e toda a saída foi direcionada para o último arquivo, 2.txt
.
Então, por que isso acontece?
Como mencionei, meu palpite seria um syadmin ou qualquer um que mantivesse isso, começou a coletar a saída para doit.log
inicialmente, mas depois que as coisas estavam estabilizadas, ou o doit.log
era extra que elas não precisavam mais; eles adicionaram um > /dev/null
para acalmar a saída do cron.