Por que meu arquivo tar é maior que o diretório de backup?

3

Esta questão não ajudou eu (apesar de ter o mesmo título). Então eu postei isso mesmo que esta seja uma pergunta duplicada.

Tanto quanto eu posso dizer, o total em du -k inclui todos os subdiretórios e indica que eu tenho 77 megabytes de dados

/raid/fpuData/oldOutput>du -ks
77063332        .
/raid/fpuData/oldOutput>tar -cvzf ../oldOutput.tar.zip *

O backup ainda está em execução, mas o arquivo já é consideravelmente maior que 77 megabytes

/raid/fpuData>ls oldOutput.tar.zip
-rw-r--r-- 1 nobody nobody 14470610944 Jul  1 22:18 oldOutput.tar.zip

Os arquivos que estou fazendo backup são todos grandes arquivos de texto preenchidos com números, como uma enorme planilha delimitada por vírgula). Algo parecido com isto

0.3454915028125262743685653,0.5590169943749474512628694,...
0.221761776923297210251107,0.3588180924674668759166707,...
-0.06101864995889930837202897,-0.09873024958113109372792593,...
-0.3001958820500086333460388,-0.4857271404396689140625654,...
...

Por que o arquivo tar é maior que o diretório? Ele deve ser compactado porque estou usando os dados com a opção z . Qual é o objetivo de tar tocar, então?

    
por Jeff 02.07.2013 / 04:21

4 respostas

12

Seu arquivo tar compactado é menor que seu conteúdo.

ls imprime tamanhos de arquivo em bytes por padrão.
du -k imprime tamanhos de arquivo em kilobytes.

Para tornar ls os tamanhos dos arquivos de impressão em kilobytes, use o sinalizador -k .

    
por 02.07.2013 / 04:35
1

Lembre-se de compactar dados BINARY primários (ou seja, * .gz, * .zip). É possível / provável que você obtenha um arquivo de saída FAR MAIOR que a agregação original. Então eu perderia a opção -z no tar que você está tentando.

    
por 02.07.2013 / 05:22
1

Os arquivos de texto não são compactados melhor apenas porque são rotulados com uma extensão "txt". Os arquivos de texto costumam ser mais compactados porque tendem a ter muito espaço em branco e uso duplicado de letras.

Eu postulo que seu arquivo CSV tem pouco ou nenhum "espaço em branco" para limpar e, na verdade, emula um arquivo de imagem binário ou gráfico.

    
por 02.07.2013 / 17:27
0

Talvez você faça backup de arquivos esparsos sem a opção de tar --sparse ?

Você pode facilmente descobrir extraindo o arquivo depois que ele foi concluído e comparando o diretório de origem com o diretório extraído.

    
por 02.07.2013 / 04:27