Preciso compactar um diretório com cerca de 350.000 arquivos relativamente pequenos que totalizam cerca de 100 GB no total. Estou usando o OSX e atualmente estou usando a ferramenta "Compactar" padrão que converte esse diretório em um arquivo .zip. Existe uma maneira mais rápida de fazer isso?
14
Respostas:
Para diretórios, eu usaria um
tar
canalbzip2
com compressão máxima.uma maneira simples de ir é,
Isso funciona muito bem se você não pretende buscar pequenos conjuntos de arquivos fora do arquivo morto
e planeja extrair a coisa toda quando / onde for necessário.
No entanto, se você fazer deseja obter um pequeno conjunto de arquivos para fora, não é muito ruim.
Prefiro chamar esses arquivos
filename.tar.bz2
e extrair com axfj
opção ' '.O tubo de compressão máxima se parece com isso,
Nota: o
bzip2
método ' ' e mais compactação tendem a ser mais lentos que o normalgzip
'tar cfz
'.Se você tiver uma rede rápida e o arquivo for colocado em uma máquina diferente,
poderá acelerar com um cano na rede (efetivamente usando duas máquinas juntas).
Algumas referências
Dennis
fonte
Esse cara fez uma pesquisa sobre isso. Parece que .zip comprime arquivos maiores mais rapidamente. No entanto, produz um dos maiores tamanhos de compactação. Também parece que ele estava usando utilitários do Windows, mas aposto que o utilitário do OSX é quase tão otimizado.
Aqui está um excelente site onde numerosos utilitários de compactação foram comparados quanto à velocidade em muitos arquivos. Existem muitos outros testes nesse site para determinar o melhor utilitário para você.
Grande parte da velocidade tem a ver com o programa que você usa. Eu usei o utilitário 7zip para Windows e acho isso muito rápido. No entanto, a compactação de muitos arquivos leva muito tempo, não importa o que aconteça. Ou você pode simplesmente tar a coisa toda e não compactá-la ... Pessoalmente, eu odeio descompactar arquivos grandes para ter cuidado se é isso que você quer fazer.
fonte
Eu prefiro usar
tar cf - dir-to-be-archived/ | bzip2 -9 - > archive.tar.bz2
para mover arquivos para outro servidor e cobri-los ao mesmo tempo
fonte