Tar.xz outra opção de compactação para seus backups.

O formato mais popular de compactação no Linux é de longe o tar.gz que vem sendo adotado a muitos anos por várias pessoas. Porém existem outros formatos de compactação no linux que são capazes de aproveitar melhor os recursos de multiprocessamento.

Hoje vou falar um pouco sobre o XZ:

Para consultar o manual:

** man xz**

Antes de começar importante salientar que o padrão do xz é remover o arquivo para isso usamos “-k” preserva o arquivo que o “xz” apagaria:

** xz -k (–keep) **

Para descompactá-lo, preservando o “.xz”:

** xz -dk (–decompress) (–keep) arquivo.xz**

Para compactar um arquivo usamos a sintaxe abaixo:

xz -kvT4 -9e arquivo

Onde: -v: –verbose ( detalhes na tela ) -Tnumero: –threads=numero exemplo -T4 -9: nível de compactação, aqui ajustamos o nível de compactação (quanto maior mais processamento). O “maior” nível é o “–extreme” ou usando o “-T” que ficaria “-9e” (níveis vão de 1 a 9).

Exemplo 1: xz -kvT4 -9e arquivo ->> Aqui a gente comprime o arquivo com o máximo do algoritmo usando 4 threads.

Exemplo 2: xz -dkvT4 arquivo.xz ->> Aqui descompactamos o arquivo com as mesmas 4 threads e ainda podemos ver (verbose) o que está sendo feito.

Mas e se eu quiser usar em pastas?

Caso precise compactar pastas um outro utilitário velho conhecido do Linux vem nos salvar. É o comando tar do Linux que cria um “pacote” com a pasta e os arquivos que estão dentro dela.

Para manual: man tar

Para dizer para o TAR que é um “xz”: tar -J ou (–xz)

podemos usar com ele: -v (–verbose): detalhes na tela -c (–create): indica que esta criando um arquivo -f (–file=arquivo): que indica que é um diretório

Exemplo (compacta um diretório):

tar -Jvcf arquivo.tar.xz arquivo/

Usando o tar.xf na prática:

TAR.XZ + THREADS + EXTREME

Ficaria assim:

** tar -Jvcf - teste/ | xz -T4 -9e > teste.tar.xz**

Onde: “-Jvcf” é:

tar –xz –verbose –create –file - teste/| xz –threads=4 –extreme -9 > teste.tar.xz

”-” → não representa nada, é só para não gerar uma mensagem de erro.

”|” → une os comandos “tar” e “xz” (usar sempre à frente do comando que vai unir, exemplo: cat arquivo.txt | less

”>” → direciona a saída para o arquivo “teste.tar.xz”, que vai tudo que foi feito.

Se você quer comparar o tamanho dos dados compactados pode usar o comando:

xz -l teste.tar.xz

A saída:

Strms Blocks Compressed Uncompressed Ratio Check Filename 1 1 10,5 MiB 10,5 MiB 1,000 CRC64 teste.tar.xz

Obs.: Esse era um arquivo que tinha em grande maioria texto e não foi usado um índice de compactação alto, por isso o mesmo valor.

Referências:


Para editar este post basta clicar aqui.
comments powered by Disqus