Utilizando o comando rsync

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

[ Hits: 64.928 ]

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

Tabela de horário de verão 2007/8

Convertendo formato de pacotes com alien

Man pages em formatos de arquivos digitais

dag.repo para yum no rhel4

Instalando pacotes utilizando RPM

Leitura recomendada

Teclado sem LED Indicador? Use um via software

USB no VirtualBox

Instalando Skype Preview no Fedora

Knetstats - Estatísticas de rede

OpenSuSE Linux: Repositório KDE 4.2 estável

  

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