Redirecionar saida padrão FIND [RESOLVIDO]

1. Redirecionar saida padrão FIND [RESOLVIDO]

Sergio Lenaz
lenaz

(usa Debian)

Enviado em 01/09/2017 - 17:01h

Boa tarde galera, beleza ?

Estou com uma duvida básica, tenho um script e utilizo o find para localizar algumas pastas, e exclui-las.
find /home/paineis -ctime +7 -exec rm -rf {} \;

Quando rodo o script com bash -x script , o resultado na tela que tenho é o seguinte:
find /home/paineis -ctime +7 -exec rm -rf '{}' ';'
find: `/home/paineis/28-08-2017': No such file or directory

Onde o primeiro é o comando que foi executado, e o segungo, o resultado desse comando, que só é mostrado, quando alguma pasta é apagada.

Gostaria de jogar essa saida padrão em um arquivo de log.
Tentei com redirecionamento direto, com >> arquivo.log no final do arquivo, com | >> arquivo.log e com | xargs >> arquivo. log e nenhum deu certo.

Alguem consegue me dar um help ai ?




  


2. MELHOR RESPOSTA

Fernando
phoemur

(usa Debian)

Enviado em 01/09/2017 - 20:27h

find /home/paines -ctime +7 -exec rm -rf {} \; 2>&1 >> arquivo.log 


explicação sobre file descriptors:
STDIN (entrada) = 0
STDOUT (saida) = 1
STDERR (erros) = 2

você tem que direcionar tanto a saida quanto os erros para o mesmo lugar, daí o 2>&1, redirecionando os erros (STDERR) para a saída padrão (STDOUT)

3. Re: Redirecionar saida padrão FIND [RESOLVIDO]

Sergio Lenaz
lenaz

(usa Debian)

Enviado em 04/09/2017 - 14:57h

phoemur escreveu:

find /home/paines -ctime +7 -exec rm -rf {} \; 2>&1 >> arquivo.log 


explicação sobre file descriptors:
STDIN (entrada) = 0
STDOUT (saida) = 1
STDERR (erros) = 2

você tem que direcionar tanto a saida quanto os erros para o mesmo lugar, daí o 2>&1, redirecionando os erros (STDERR) para a saída padrão (STDOUT)


Muito obrigado! Eu não tentei redirecionar a saida de erro, pois achei q esse era uma saida padrão.
2>&1 >> arquivo.log -> Redireciona stderr para stdout e então para arquivo
&>> arquivo.log -> Redireciona stderr e stdout direto para arquivo

Então pra mim, a segunda opção foi a mais adequada.

Mas muito obrigado pela dica, que foi muito esclarecedora, e me deu a ideia da saida de erro. hehe






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts