Utilizando o comando rsync

Publicado por Ricardo Brito do Nascimento em 04/11/2011

[ Hits: 64.936 ]

Blog: http://brito.blog.incolume.com.br

 


Utilizando o comando rsync



Sintaxe:

rsync [opções] origem destino

Opções:

Há várias opções, aqui estão destacadas apenas as mais utilizadas:
  • -C, --cvs-exclude - ignora arquivos CVS;
  • -r, --recursive - recursivo;
  • -a, --archive - modo arquivo; igual -rlptgoD (no -H,-A,-X);
  • -z, --compress - comprime durante transferência;
  • -p, --perms - preserva as permissões;
  • -b, --backup - faz backup (veja --suffix & --backup-dir);
  • --backup-dir=DIR - faz backups dentro da hierarquia DIR;
  • --suffix=SUFFIX - sufixo de backup (padrão ~ w/o --backup-dir);
  • -u, --update - pula arquivos recentes;
  • -d, --dirs - transfere diretórios sem seu conteúdo, não recursivo;
  • -l, --links - cópia symlinks como symlinks;
  • -L, --copy-links - transforma symlink em sua referência, arquivo ou diretório;
  • -X, --xattrs - preserva os atributos estendidos;
  • --exclude=PATTERN - exclui o arquivo que coincide com o PATTERN;
  • -t, --times - preserva a data de modificação;
  • -v, --verbose - modo verboso.
Uma boa sequência de opções é o Cravzpt, onde estão inclusas as funcionalidades mais usuais. As demais opções podem ser consultadas no manual do software, man rsync, ou no manual na Web em:
Sincronizando diretórios locais:

Há um diretório com arquivos e o objetivo é manter uma cópia fiel do mesmo em outra localidade. O diretório destino deverá estar criado e ter permissões de escrita.

Para copiar ~/artigos para para /var/backups/artigos, executa-se:

rsync -Cravzpt ~/artigos/ /var/backups/artigos/

Sincronizando arquivos locais para um servidor remoto:

rsync [opções] origem usuario@host:destino

rsync -Cravzpt ~/artigos/ brito@10.1.1.1:/var/backups/artigos/

Sincronizando arquivos com exclusão:

No exemplo abaixo, estou sincronizando todos exceto os logs:

rsync -Cravzpt --exclude '*.log' /storage/plone-2.5.5/zeocluster2/ root@10.100.0.72:/storage/plone-2.5.5/zeocluster2/

Sincronizando arquivos do servidor para sua máquina local:

rsync [opções] usuario@host:origem destino

rsync -Cravzpt brito@10.1.1.1:/var/backups/artigos/ ~/artigos/

Listando arquivos do servidor, o diretório a ser listado será o destino:

rsync [opções] usuario@host:destino

rsync -Cravzpt brito@10.1.1.1:/var/backups/artigos/

Atualizações

As atualizações deste artigo e o mesmo em formato PDF pode ser encontrado em:

Referências



Outras dicas deste autor

dag.repo para yum no rhel4

Múltiplos downloads

Gerenciando histórico de comandos no GNU/Linux

Instalando pacotes utilizando RPM

Convertendo formato de pacotes com alien

Leitura recomendada

Softwares para administração de empresas em Linux

Instalando ownCloud no Fedora 21

Tradução e dependências do K3b - Ubuntu e derivados pelo Synaptic

aBíblia - A Bíblia Sagrada Open Source agora escrita em C++/QT

Configuração de Client VPN Cisco (Group Authentication)

  

Comentários
[1] Comentário enviado por chimico em 05/11/2011 - 02:40h

@rbn_jesus
Parabéns pela dica, sempre uso o comando rsync para fazer backup de minha /home em uma HD externo usb e manter sincronizado.

Deus te abençõe

[2] Comentário enviado por carrusca em 21/11/2011 - 14:24h

Estou tentando executar porém aprece mensagem dizendo que não tenho permissão. estou utilizando o usuários administrador que dentro do samba tem permissão de movimentar em todas as pastas a linha que estou utilizando é a seguinte:

rsync -Cravzpt administrador@192.168.0.20:/home/ /home/BKP/BKP-data/

se utilizo o sudo antes move dono e grupo para root.

obrigado

[3] Comentário enviado por rolliman em 16/12/2014 - 17:26h

Valeu pela dica.
Parabéns.!

[4] Comentário enviado por david fonseca em 08/02/2016 - 09:33h

Ola, estou tentando fazer uma copia dos backup do meu banco oracle, porem quando coloco a opcao "C", ele ignora os arquivos *.bak , cada arquivo desse tem em media 5bg

E também quero colocar para ser copias idênticas, quando coloco o "--delete" ele copia os arquivos para o novo local e depois apaga os mesmo....

Minha sintax é " -Cravzpt --delete ..."

[5] Comentário enviado por anaell em 06/06/2016 - 00:12h

Boa noite pessoal,

tenho uma duvida,
uso o comando para sincronizar os arquivos de uma particao para uma hd considero backup.

rsync -zrogpvau --delete-during /arquivos /backup/

E se por acaso o linux perder referencia do /arquivos e ler essa pasta em branco ele também vai replicar em banco o /backup excluindo assim meus arquivos.

Como posso resolver esse problema??? mantendo a total fidelidade dos arquivos de origem na hd destino /backup

Abraços a todos e obrigado pela ajuda.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts