o que acontece se eu deletar um arquivo enquanto o tar está processando?

4

Estou tentando fazer backup do meu sistema de arquivos com o seguinte comando:

tar -cvjf /fs.bz2 --exclude=/fs.bz2 --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys /

Este comando foi executado e a saída de cada arquivo foi processado e progrediu para um determinado arquivo de 2 GB denominado 20130601.tgz . Eu decidi que não preciso manter este arquivo, e assim, enquanto o tar estava processando, eu deletei esse arquivo com rm .

tar parece continuar processando o arquivo, pois não produziu o próximo arquivo a ser processado, e o tamanho do arquivo do arquivo bzip2 continua a crescer. anteriormente, o tar parece reconhecer que um arquivo foi alterado enquanto foi editado e informado, e continuou no próximo arquivo. Eu também recriou o arquivo com o seguinte comando: echo hello > 20130601.tgz

três perguntas relacionadas:

  • por que não reconheceu que ele foi modificado desta vez?
  • preciso iniciar meu comando tar novamente?
  • se ainda estiver processando o mesmo arquivo, mesmo que eu o tenha excluído, onde ele está obtendo o conteúdo do arquivo para processá-lo?

EDIT: as questões 1 e 2 são respondidas pela seguinte saída do meu comando:

tar: /srv/www/nachtkriecher.com/backups/20130601.tgz: file changed as we read it

A pergunta 3 ainda permanece embora! O que estava fazendo enquanto eu estava esperando?

    
por Nacht 30.04.2014 / 14:39

1 resposta

2
  

o que acontece se eu excluir um arquivo enquanto o tar está processando?

Absolutamente nada. A exclusão de um arquivo simplesmente remove o nome do diretório. O arquivo em si ainda está lá, desde que tenha um nome em outro diretório, ou qualquer processo já o tenha aberto. Como tar já tinha o arquivo aberto, ele continua processando bem.

    
por psusi 30.04.2014 / 17:09