Como faço para retomar um comando tar que foi morto

10

Eu estava fazendo um: tar -cvf e tive que matá-lo com ctrl-C . Eu sei que deveria ter feito um Ctrl-Z e depois trazer a tarefa para primeiro plano ... mas não é a história.

Posso continuar a partir do ponto em que parei a tarefa?

    
por mthpvg 06.12.2012 / 09:49

3 respostas

9

Esse método recriará seu arquivo tar e anexará a peça finalizada ao arquivo existente. Isso pode ser útil ao fazer backup em uma conexão de rede. Você provavelmente resultará em um arquivo corrompido se algum dos dados do INFILES tiver sido alterado. Não deixe de testar seu arquivo após a conclusão.

Altere INFILES e OUTFILE para os nomes corretos na linha a seguir.

INFILES="my folder"; OUTFILE="archive.tgz"; SIZE="$(wc -c < $OUTFILE)"; tar -cz --to-stdout "$INFILES" | tail -c +$(($SIZE+1)) >> "$OUTFILE"

Explicação:

SIZE="$ (wc -c < $ OUTFILE)" # Obtém o tamanho atual do arquivo.

tar -cz - para-stdout "$ INFILES" | # Comece a criar o arquivo e envie a saída para o comando tail .

tail -c + $ (($ SIZE + 1)) > > # Desconsidere os dados antes de $ SIZE + 1 e retome o resto do arquivo $ OUTFILE.

    
por 07.03.2014 / 07:07
2

A melhor solução seria excluir o arquivo tar e reiniciar o processo anexado com nohup e anexado com & . Como alternativa, você pode executar tar -tfv e usá-lo como uma exclusão para o novo tar -cvf .

    
por 06.12.2012 / 17:56
2

Você não pode; você só precisa começar de novo.

    
por 06.02.2014 / 05:50

Tags