Onde visualizar o log de erros para o comando tar archive já finalizado? [duplicado]

4

Eu corri abaixo do comando:

tar cvf ~/data.tar /home/user/data/

Ele mostrou muitos nomes de arquivos na tela, depois de 10 minutos eu vejo:

tar: Exiting with failure status due to previous errors

Onde posso ver o log de erros para tar (está em algum lugar abaixo de /var/log ). Eu posso ver que há 100 Mb de diferença entre a versão tarred e a original. Eu quero saber os nomes dos arquivos ausentes do arquivo recém-criado.

du -sh data.tar /home/user/data
5.7G     data.tar
5.8G      /home/user/data

Usando o GNU tar 1.27.1

    
por user13107 15.08.2016 / 10:06

3 respostas

9

tar é um comando interativo, não um serviço e não produz arquivos de log.

Sua saída é enviada para stdout e erros para stderr .

Você pode redirecionar os fluxos de saída para os arquivos, mas seria necessário executá-lo novamente.

tar cvf ~/data.tar /home/user/data/ > tar_stdout.log 2> tar_stderr.log

E examine o conteúdo do arquivo tar_stderr.kog .

Ou combine os dois fluxos em um arquivo:

tar cvf ~/data.tar /home/user/data/ &> tar.log
    
por 15.08.2016 / 10:14
4

Como seu tar era muito grande, você pode não querer repeti-lo e coletar os erros como nas outras respostas, então faça uma espécie de versão fictícia para /dev/null perdendo a opção v e mantendo os erros:

tar cf /dev/null /home/user/data/ 2>errors
    
por 15.08.2016 / 10:23
3

Você teria que capturar o log enquanto estiver descompactando o arquivo, por exemplo,

tar cvf ~/data.tar /home/user/data/ 2>tar.errors |tee tar.output

para colocar os erros em tar.errors , observar a saída normal e colocar essa em tar.output .

    
por 15.08.2016 / 10:16

Tags