Backup incremental com rsync

Publicado por Fernando T. Da Silva em 24/06/2013

[ Hits: 50.406 ]

Blog: http://meumundotux.blogspot.com.br/

 


Backup incremental com rsync



Para fazer backup de forma eficiente, a fim de sincronizar dois diretórios, HD externo ou mesmo um backup remoto/local, o rsync é a solução ideal para isto.

Para instalar o rsync, procure pelo pacote "rsync" no seu gerenciador de pacotes.

Você deve informar o diretório de origem e o diretório de destino, para onde os arquivos serão copiados.

Exemplo:

rsync -av /home/nando/docs/ /mnt/dados/backup/

Onde:
  • A opção "-a" preserva todas as permissões de arquivos e também faz cópia recursivamente.
  • Aopção "-v" serve para ver os nomes dos arquivos que estão sendo copiados.

Exemplo da saída do backup feito:

rsync -av /home/nando/docs/ /mnt/dados/backup/
 sending incremental file list
 ./
 Acesso remoto vnc com tightvnc com desktop xfce4.odt
 Chat do facebook via pidgin sem precisar abrir o navegador.odt
 Conversão completa de videos  no Linux 2012.odt
 Criando e reproduzindo playlist de musicas.odt
 Criando pasta criptografadas com Cryptkeeper .odt
 Desktop Remoto no Linux.odt
 Gravado e ripando mídia de Blu-Ray no  GNU/Linux.odt
 Importar registros pra oobase.odt

 sent 5479040 bytes  received 186 bytes  10958452.00 bytes/sec
 total size is 5477423  speedup is 1.00


* Importante: o uso da barra ("/") no final do nome dos diretórios de origem e destino, é importante na sintaxe do rsync para a correta cópia do que foi especificado.

Caso você tenha apagado arquivos por engano ou formatado a partição (desde que o backup não esteja armazenado nesta partição), para recuperar os dados, você deve inverter a ordem dos diretórios no comando, sendo o diretório do backup a origem e o diretório original seja o destino, conforme exemplo abaixo:

rsync -av /mnt/dados/backup/ /home/nando/docs/

Exclusão de arquivos

Exclusão de arquivos desnecessário que estão no backup.

No diretório "/home/nando/docs/" foi deletado o arquivo "Processador Amd Sempron 145 2.8ghz.pdf" propositalmente, e criado o arquivo "xubuntu 12.10 usando.txt":

rsync -av --delete /home/nando/docs/ /mnt/dados/backup/
 sending incremental file list
 ./
 deleting Processador Amd Sempron 145 2.8ghz.pdf
 xubuntu 12.10 usando.txt

 sent 192553 bytes  received 34 bytes  385174.00 bytes/sec
 total size is 5931013  speedup is 30.80


O "--delete" faz com sejam apagados no diretório usado para backup, todos os arquivos que foram apagados manualmente no diretório original, ficando uma cópia fiel entre os dois diretórios. Se você pretende manter sempre no backup os arquivos antigos, você não deve usar a opção "--delete", de forma que você possa recuperá-los caso precise.

Notas

O rsync é ótimo para fazer backup incremental e também existe um ótima GUI gráfica para o mesmo com o nome de Grsync em GTK (não é necessário ter o GNOME e suas libs instaladas).
Linux: Backup incremental com rsync

Sistema de arquivos usado pelo Windows

Um detalhe importante do rsync é que, para copiar arquivos para partições ou discos formatados em FAT16, FAT32 ou NTFS, não use o flag "-a" no rsync, pois esta flag somente deve ser usada com sistema de arquivos do GNU/Linux, pois, caso seja usado, os arquivos não serão gravados em sistema de arquivo Windows, sendo exibido a seguinte linha para cada arquivo a ser copiado:
rsync: chgrp "caminho-destino.nome-do-arquivo failed: Operation not permitted (1)

Para copiar subdiretórios, ou seja, recursivamente para partições Windows, você deve usar o flag "-r" (recursivamente), então os flags deve ser "-vr" para gravar em sistema de arquivos Windows.

O flag "-a" já faz cópia recursivamente e preserva todas as permissões de arquivos e, por isto somente, funciona com sistema de arquivos do GNU/Linux.

Para ajuda:

rsync --help
E:
man rsync

O rsync também pode ser utilizado com o Samba ou com o SSH remotamente.

Dica também publicada em: Meu Mundo Tux: Backup incremental com rsync

Outras dicas deste autor

Instalando a versão mais recente do Firefox no Debian 10 codinome "Buster"

Instalação da multilib no Slackware 15.0

Virtualizando um Sistema Operacional em linha de comando com o qemu

Criando pacotes executáveis auto-extraível no GNU/Linux

Calc, a calculadora de linha de comando

Leitura recomendada

Compilando o Bacula no CentOS 8

Backup de Contas Individuais do Zimbra

Samba - migrar usuários, grupos e compartilhamentos no Zentyal Linux

Criação de stage4 do Funtoo/Gentoo

Distro "Redo Backup and Recovery" em live-CD/USB - Backup e Restauração

  

Comentários
[1] Comentário enviado por jacksonsantana em 01/08/2014 - 11:05h

bom dia,
até postei essa dúvida em um outro artigo..

Uso Rsync para backup, até então tudo ok.
Na otimização de um script... precisei do --include, mas nao funcionou no modo backup.

Backup do diretorio compartilhado, para outro local...
onde aqui nesse comando, ele sincroniza tudo, e salva em pastas separadas as modificacoes em arquivos.

rsync --backup --backup=$DATA -a /dados_cliente /dados_bkpeados

eu uso o seguinte comando para sincronizar o diretorio com o hd externo.
rsync -a /dados_bkpeados /hd_montado.


Agora, preciso usar o include...que é um arquivo, com varios diretorios diferentes.
nao quero e nem tem a necessidade de clonar linhas do mesmo comando.
ou seja, melhorando o primeiro comando acima, mas que nao é somente um diretorio de dados, e sim, vários.

tentei assim:

rsync --backup --backup=$DATA --include --include-from=/root/diretorios.list /dados_bkpeados

teria alguma sugestao amigo?

[2] Comentário enviado por juliocz em 25/03/2015 - 17:00h

utilizei o rsync -vr /diretorio/origem /diretorio/destino

no freebsd e a maquina reiniciou.
obs: o destino e um hd externo em ntfs, uso para abrir os arquivos no windows.

sabem o que pode estar ocorrendo?

[3] Comentário enviado por nandosilva em 26/03/2015 - 18:02h


Caro juliocz, não faço a mínima ideia porque isto acontece com você, nunca tive este problema em 3 versões diferentes do Xubuntu que já utilizei, pode ser algum bug do seu sistema ou algo relacionado ao seu hd externo; por acaso se você tem um distro LInux em outra partição do seu computador isto também acontece ?
Poste aqui no fórum da VOL o seu problemas, talvez outros membros tenha a solução para o sue problema.

[4] Comentário enviado por phk em 25/10/2020 - 19:21h

Estou utililizando o rsync e o backup está ficando gigantesco, estou há mais de 6 horas fazendo backup para um hd externo.

[5] Comentário enviado por nandosilva em 25/10/2020 - 20:24h

Você tem que cuidar como especificou o caminho do backup para ver ser não incluiu o próprio arquivo de backup que estará
dentro do próprio arquivo de backup gerado. Use a opção –exclude=arquivo.tgz ou –exclude=/caminho/arquivo.tgz para não incluir o próprio arquivo de backup dentro do arquivo de backup, pois neste caso ele terá o dobro de tamanho e demorar também muito mais em backup de vários gigas.

Não inclua os diretórios /var /tmp /proc /sys /media /opt /dev no backup.

[6] Comentário enviado por phk em 07/09/2023 - 18:52h


Eu estou com dúvida em como manter o destino e a origem, ou seja, sem apagar nada, mas só não fazer backup de diretórios desnecessários com o exclude-from=



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts