Backup recursivo de diretórios com o tar

Publicado por edps em 17/05/2010

[ Hits: 24.050 ]

Blog: https://edpsblog.wordpress.com/

 


Backup recursivo de diretórios com o tar



Para quem precisa realizar backups de um diretório que contém inúmeros arquivos, uma boa solução é usar o tar para criar um único arquivo que contenha todo o conteúdo deste diretório:

tar -c --recursion -p --file=backup.tar diretório

No exemplo acima usei as opções:
  • -c = criar arquivo
  • --recursion = recursivo, ou seja tudo o que estiver dentro deste diretório
  • -p = preservar as permissões dos arquivos.
  • --file= nome do arquivo e a extensão .tar
  • diretório = o diretório alvo

Para maiores detalhes digite no terminal:

man tar
ou
tar --help

Agora se desejarmos criar um arquivo de backup contendo diversos diretórios faremos assim:

tar -c --recursion -p --file=backup.tar diretório1 diretório2 diretório3

Agora vem o que acho melhor: arquivamento e compactação. Após o arquivo ser criado ele será compactado com o gzip ou o bzip2. Podemos fazer desta maneira:

tar -c --recursion -p --file=nome-do-arquivo.tar diretório-a-ser-compactado && gzip nome-do-arquivo.tar

$ tar -c --recursion -p --file=nome-do-arquivo.tar diretório-a-ser-compactado && bzip2 nome-do-arquivo.tar


ou

tar -c -z --recursion -p --file=backup.tar.gz diretório

$ tar -c -j --recursion -p --file=backup.tar.bz diretório


Eu particularmente prefiro o gzip por achá-lo mais rápido. Para descompactar esses tipos de arquivos use:

tar -zxvf arquivo.tar.gz
$ tar -jxvf arquivo.tar.bz


É isso aí pessoal, até a próxima!

Outras dicas deste autor

Arch Linux personalizado - Parte III

Checando por mensagens do Gmail pelo terminal

Terminator: o Terminal!

sources.list para o Ubuntu 10.04 Lucid Lynx

Script Ubuntu Perfeito para o Lucid Lynx

Leitura recomendada

Usando skins de Winamp no XMMS

Nanny - Controle de acesso para usuários no Ubuntu 9.10 e 10.04

DeVeDe - usando e evitando erros

Seu Linux falando português nativamente

Converter imagens para fundo transparente via linha de comando

  

Comentários
[1] Comentário enviado por nfermat em 18/05/2010 - 03:38h

Que tal simplificar e usar:

tar -czvf arquivo.tar.gz arquivos a compactar/agrupar
ou trocar o z por j e gz por bz2 ?
pode retirar o v (verbose) também.

[2] Comentário enviado por removido em 18/05/2010 - 07:39h

nfermat, sim, também é possível simplificar como em seu exemplo, vlw pela observação.

[3] Comentário enviado por aleciano em 20/06/2012 - 18:55h

Ótimo!

[4] Comentário enviado por adairsoliveira em 11/09/2013 - 11:13h

Ola tudo bem?


Estou querendo fazer um script para backup, preciso saber se tem como eu Fazer o Backup de tudo menos um determinado diretorio: Exemplo:


no diretorio htdocs, tenho vários diretorios como abaixo, ai quero fazer backup de tudo menos determinados diretorios...


pserver
dactes
damdfes
contrafo
mcy
etc...

Quero fazer backup de tudo mesno por ex: dactes...

Se alguem puder me ajudar eu agradeço.

[5] Comentário enviado por adairsoliveira em 11/09/2013 - 11:13h

ah meu email é [email protected]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts