TAR seletivo

Publicado por D. M. Tavares em 10/03/2008

[ Hits: 25.626 ]

 


TAR seletivo



Uso o aplicativo "tar" para realizar cópias de segurança. Gostaria de saber se é possível excluir, do processo de cópia, alguns arquivos ou até mesmo algum diretório?

Resposta: Sim, o aplicativo (comando) "tar" permite excluir arquivos e diretórios do processo de aglutinação/compactação. Para isso, basta usar o parâmetro "exclude".

Para seguir os exemplos propostos, tomemos o diretório "projetos":

$ tree -a projetos/
projetos/
|-- .canal_23_rc
|-- .farma_rede_rc
|-- .infocomp_rc
|-- canal_23
| |-- .xwgrp
| |-- canal.log
| |-- logo.jpg
| `-- relatorio.pdf
|-- farma_rede
| `-- .xwgrp
|-- grupos.txt
|-- infocomp
| |-- .xwgrp
| |-- apresentacao.pdf
| |-- info.jpg
| `-- projeto.pdf
`-- prototipos
`-- cafe_joao
|-- .xwgrp
|-- cafe_joao.jpg
`-- leia-me.txt

5 directories, 16 files

Para aglutinar/compactar todo o diretório "projetos", geralmente faço:

$ tar -cvzf projetos.tar.gz projetos
projetos/
projetos/prototipos/
projetos/prototipos/cafe_joao/
projetos/prototipos/cafe_joao/leia-me.txt
projetos/prototipos/cafe_joao/cafe_joao.jpg
projetos/prototipos/cafe_joao/.xwgrp
projetos/canal_23/
projetos/canal_23/logo.jpg
projetos/canal_23/canal.log
projetos/canal_23/relatorio.pdf
projetos/canal_23/.xwgrp
projetos/infocomp/
projetos/infocomp/info.jpg
projetos/infocomp/projeto.pdf
projetos/infocomp/apresentacao.pdf
projetos/infocomp/.xwgrp
projetos/grupos.txt
projetos/farma_rede/
projetos/farma_rede/.xwgrp
projetos/.canal_23_rc
projetos/.farma_rede_rc
projetos/.infocomp_rc

Exemplo 1 - Caso deseje excluir do processo de aglutinação/compactação os arquivos ocultos do diretório "projetos", basta fazer:

$ tar -cvzf projetos.tar.gz projetos --exclude=projetos/.*
projetos/
projetos/prototipos/
projetos/prototipos/cafe_joao/
projetos/prototipos/cafe_joao/leia-me.txt
projetos/prototipos/cafe_joao/cafe_joao.jpg
projetos/prototipos/cafe_joao/.xwgrp
projetos/canal_23/
projetos/canal_23/logo.jpg
projetos/canal_23/canal.log
projetos/canal_23/relatorio.pdf
projetos/canal_23/.xwgrp
projetos/infocomp/
projetos/infocomp/info.jpg
projetos/infocomp/projeto.pdf
projetos/infocomp/apresentacao.pdf
projetos/infocomp/.xwgrp
projetos/grupos.txt
projetos/farma_rede/
projetos/farma_rede/.xwgrp

Exemplo 2 - Caso deseje excluir do processo de aglutinação/compactação os arquivos ocultos de toda a hierarquia do diretório "projetos", basta fazer:

$ tar -cvzf projetos.tar.gz projetos --exclude=.*
projetos/
projetos/prototipos/
projetos/prototipos/cafe_joao/
projetos/prototipos/cafe_joao/leia-me.txt
projetos/prototipos/cafe_joao/cafe_joao.jpg
projetos/canal_23/
projetos/canal_23/logo.jpg
projetos/canal_23/canal.log
projetos/canal_23/relatorio.pdf
projetos/infocomp/
projetos/infocomp/info.jpg
projetos/infocomp/projeto.pdf
projetos/infocomp/apresentacao.pdf
projetos/grupos.txt
projetos/farma_rede/

Observe que todos os arquivos ocultos foram excluídos do processo de aglutinação/compactação diferente do Exemplo 1.

Exemplo 3 - Caso deseje excluir do processo de aglutinação/compactação as imagens (arquivos JPG) de toda a hierarquia do diretório "projetos", basta fazer:

$ tar -cvzf projetos.tar.gz projetos --exclude=*.jpg
projetos/
projetos/prototipos/
projetos/prototipos/cafe_joao/
projetos/prototipos/cafe_joao/leia-me.txt
projetos/prototipos/cafe_joao/.xwgrp
projetos/canal_23/
projetos/canal_23/canal.log
projetos/canal_23/relatorio.pdf
projetos/canal_23/.xwgrp
projetos/infocomp/
projetos/infocomp/projeto.pdf
projetos/infocomp/apresentacao.pdf
projetos/infocomp/.xwgrp
projetos/grupos.txt
projetos/farma_rede/
projetos/farma_rede/.xwgrp
projetos/.canal_23_rc
projetos/.farma_rede_rc
projetos/.infocomp_rc

Exemplo 4 - Caso deseje excluir do processo de aglutinação/compactação o subdiretório "prototipos" do diretório "projetos", basta fazer:

$ tar -cvzf projetos.tar.gz projetos --exclude=projetos/prototipos
projetos/
projetos/canal_23/
projetos/canal_23/logo.jpg
projetos/canal_23/canal.log
projetos/canal_23/relatorio.pdf
projetos/canal_23/.xwgrp
projetos/infocomp/
projetos/infocomp/info.jpg
projetos/infocomp/projeto.pdf
projetos/infocomp/apresentacao.pdf
projetos/infocomp/.xwgrp
projetos/grupos.txt
projetos/farma_rede/
projetos/farma_rede/.xwgrp
projetos/.canal_23_rc
projetos/.farma_rede_rc
projetos/.infocomp_rc

Exemplo 5 - Caso deseje excluir do processo de aglutinação/compactação os arquivos "log" e os arquivos "txt" de toda a hierarquia do diretório "projetos", basta fazer:

$ tar -cvzf projetos.tar.gz projetos --exclude=*.log --exclude=*.txt
projetos/
projetos/prototipos/
projetos/prototipos/cafe_joao/
projetos/prototipos/cafe_joao/cafe_joao.jpg
projetos/prototipos/cafe_joao/.xwgrp
projetos/canal_23/
projetos/canal_23/logo.jpg
projetos/canal_23/relatorio.pdf
projetos/canal_23/.xwgrp
projetos/infocomp/
projetos/infocomp/info.jpg
projetos/infocomp/projeto.pdf
projetos/infocomp/apresentacao.pdf
projetos/infocomp/.xwgrp
projetos/farma_rede/
projetos/farma_rede/.xwgrp
projetos/.canal_23_rc
projetos/.farma_rede_rc
projetos/.infocomp_rc

Espero que estes exemplos tenham explorado bem o parâmetro "exclude" do comando "tar". Para mais informações leia as páginas de manual do comando "tar".

Abraços,

Prof. D.M.T.

Outras dicas deste autor

Exibindo o conteúdo ao contrário

Desmontando um dispositivo ocupado

Variáveis de internacionalização no Slackware

Imprimindo "man pages"

Mensagens do boot

Leitura recomendada

Ver log de sites do squid em tempo real

Orientações sobre comandos para iniciantes

Retirar todos os acentos de um arquivo com sed - via terminal

Utilizando o SUDO para desligar ou reiniciar um PC logado com um usuário comum

Salvo pelo SED!

  

Comentários
[1] Comentário enviado por kabalido em 11/03/2008 - 14:27h

Parabéns cara!
Show de bola! Não sabia disso não. Hehehe
Vlw aeee



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts