fbpx

Conheça os comandos tar e compactadores para juntar e comprimir arquivos no Linux. Essencial para qualquer administrador

Comando tar

Uso:

$ tar [ctxurgjzpvfNCMF] [destino] [fonte]

O nome deste comando provém de “Tape-ARchive”. Ele lê arquivos e diretórios e salva em fita ou arquivo. Juntamente com os dados, ele salva informações importantes como a última modificação, permissões de acesso e outros. Isso o torna capaz de restaurar o estado original dos dados.

O comando tar recebe dois argumentos. São eles:

[fonte]: Se o tar for utilizado para fazer backup, este parâmetro pode ser um arquivo, um dispositivo, um diretório a ser copiado;

[destino]: Se o comando for utilizado para backup, esta opção irá especificar o destino para os dados. Pode ser um arquivo tarball ou um dispositivo. Se for utilizado para restaurar os arquivos, ela irá especificar um arquivo tarball e um dispositivo de onde os dados serão extraídos.

As opções mais frequentes são:

  • -c: Cria um novo arquivo .tar;
  • -t: Lista o conteúdo de um arquivo .tar;
  • -x: Extrai os arquivos de arquivo .tar;
  • -u: Adiciona mais arquivos ao arquivo .tar somente se estes forem novos ou modificados;
  • -r: Adiciona os arquivos especificados no final do arquivo .tar;
  • -g: Cria um backup incremental;
  • -j: Utiliza o bzip2 para compactar e descompactar os arquivos .tar;
  • -z: Utiliza o gzip para compactar e descompactar os arquivos .tar;
  • -p: Extrai os arquivos com as mesmas permissões de criação;
  • -v: Lista todos os arquivos processados;
  • -f: Indica que o destino é um arquivo em disco, e não uma unidade de fita magnética;
  • -N: data Salva somente os arquivos mais novos que a data especifi­cada;
  • -C: Especifica o local para onde os dados serão extraídos;
  • -M: Habilita múltiplos volumes;
  • -T: Cria um pacote .tar a partir de uma lista de arquivos e diretórios.

Exemplos:

Para salvar um determinado diretório /var/lib/mysql em um no arquivo /var/backup/mysql.tar.gz.

# tar cvzf /var/backup/mysql.tar.gz /var/mysql

Para extrair o mesmo pacote:

# tar xvzf /var/backup/mysql.tar.gz –C /

Para criar um backup do diretório /home/documentos em múltiplos disquetes:

# tar cvMf /dev/fd0 /home/documentos

Para criar um pacote a partir de uma relação de diretórios em um arquivo e com a data superior a 01/05/2004.

# cat listabackup.txt

/etc

/var/lib/mysql

/usr/local/apache2/conf

# tar czPf backup-010504.tar.gz -N 01/05/2004 -T listabackup.txt

Para salvar o diretório /etc em fita SCSI no dispositivo /dev/st0:

# tar cvz /dev/st0 /etc

Para listar o conteúdo de uma fita SCSI no dispositivo /dev/st0:

# tar tfz /dev/st0

Para extrair somente o arquivo de password:

# tar xvfz /dev/st0 etc/passwd

As operações de backup de dados podem ser automatizadas através de scripts shell e programadas no cron, exigindo-se somente do administrador a troca de mídias e conferência dos relatórios.

Os Compressores de Dados

Comando gzip e gunzip

Para uma maior eficiência e economia de mídias de backup, existe o recurso de compressão de dados.

O primeiro compressor de dados muito utilizado é o gzip. Ele utiliza um algoritmo de compreensão chamado Lempel-Ziv. Esta técnica encontra caracteres duplicados nos dados de entrada. A segunda ocorrência dos caracteres é substituída por ponteiros para a referência anterior, na for­ma de pares de distância e comprimento. Ao compactar um arquivo, o gzip adiciona o sufixo .gz.

Para compactar um arquivo:

$ gzip arquivo

Para descompactar um arquivo:

$ gzip –d arquivo.gz

Ou

$ gunzip arquivo.gz

Comando bzip2 e bunzip2

O compactador bzip2 compacta arquivos utilizando o algoritmo de Burrows-Wheeler e Huffman. Esta técnica opera em blocos de dados grandes. Quanto maior o tamanho dos blocos, maior a taxa de compressão atingida. Ele é considerado melhor que os compressores convencionais de dados. Ao compactar um arquivo, o bzip2 adiciona o sufixo .bz2.

Para compactar um arquivo:

$ bzip2 arquivo

Para descompactar um arquivo:

$ bzip2 –d arquivo.bz2

Ou

$ bunzip2 arquivo.bz2

Existem alguns casos onde o arquivo compactado pode ficar maior que o arquivo original. Isto pode ocorrer se o algoritmo utilizado não encontrar ocorrências para fazer a compressão dos dados e o cabeçalho do compactador é adicionado ao arquivo original.

Comando xz

Ainda, temos o compressor de dados xz, que utiliza o algoritmo similar ao gzip. Ele produz arquivos com a extensão .xz ou .lzma.

Para compactar um arquivo:

$ xz arquivo

Para descompactar:

$ xz –decompress arquivo.xz

Para você ter uma ideia da diferença entre os três compactadores gzip, bzip2 e xz, veja o exemplo comparativo do pacote TAR de um arquivo de backup de um site:

site.tar                    9,8M       # arquivo sem compactação;

site.tar.gz               2,6M       # arquivo compactado com gzip

site.tar.bz2 2,4M           # arquivo compactado com bzip

site.tar.xz                2,1M       # arquivo compactado com xz

Quer saber se uma certificação vale a pena ? Saiba porque os salários são bons, e porque as empresas estão procurando profissionais de Linux.

Você vai ententer que os benefícios superam de longe o sacrifício.

E se você já se decidiu, veja nosso Guia de Certificação.

E se quer saber onde fazer as provas, consulte a lista de cidade.

Se quiser saber o idioma das provas, veja esse post.

Aprenda muito mais sobre Linux em nosso curso online. Você pode fazer a matrícula aqui com trial de 7 dias grátis. Se você já tem uma conta, pode acessar aqui.

Gostou? Compartilhe 🙂

Compactadores de arquivos no Linux
Classificado como:                        

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.