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.