Você está na página 1de 5

Transferindo arquivos com o rsync [Artigo]

http://www.vivaolinux.com.br/artigos/impressora...

TRANSFERINDO ARQUIVOS COM O RSYNC


Autor: Fbio Berbert de Paula <fberbert at gmail.com>
Data: 17/08/2003

INTRODUO

1 de 5

06-03-2015 08:45

Transferindo arquivos com o rsync [Artigo]

http://www.vivaolinux.com.br/artigos/impressora...

Antes de iniciarmos o artigo, vamos imaginar um cenrio onde voc programou um mega portal que
possui centenas de arquivos que somados ocupam cerca de 300 MB em disco rgido. Existem duas
cpias

do

portal,

uma

no

seu

desktop

de

trabalho

outra

no

servidor

Linux

(http://www.vivaolinux.com.br/linux/) em produo.
Certo dia voc resolve fazer uma baita reforma no site e passa uma poro enorme de tempo
alterando seus scripts PHP, HTML, folhas de estilo, imagens e tudo mais que se possa imaginar e
agora precisa atualizar a nova verso offline com a verso que existe no servidor em produo.
O grande problema que voc passou horas programando e j no recorda quais arquivos foram
alterados. E agora, que soluo te vem cabea? Enviar os 300 MB por FTP para o servidor? Ou
passar outro bocado de horas selecionando os arquivos que voc "lembra" que alterou e fazendo seu
upload um a um? Que nada, isso um mrtir exclusivo para usurios de Windows. Quem programa
em desktops Linux e claro, hospeda seus projetos em servidores Linux pode contar com a ferramenta
dos sonhos, o rsync.

O QUE DIABOS RSYNC

Rsync, como o nome sugere, um programa que sincroniza remotamente os dados entre duas
mquinas. Por ser baseado no antigo rcp (remote copy), o software herdou as propriedades de
criptografia do protocolo SSH, o que torna sua transmisso de dados mais segura que o FTP.
Alm das propriedades de segurana, o rsync utiliza o protocolo remote-update, o que aumenta
assustadoramente sua velocidade e diminui a quantidade de dados transferidos, pois so trocados
entre os servidores somente as diferenas entre dois grupos de arquivos.
Voltando ao nosso estudo de caso introdutrio, se alteramos uma dzia de arquivos numa poro de
centenas, ao executar um rsync do seu desktop para o servidor, somente os arquivos alterados
sero enviados por upload e voc ainda no corre o risco de algum espertinho utilizando um sniffer1
na rede capturar sua senha de FTP em plain text.
1 - sniffer um tipo de software utilizado para capturar pacotes que trafegam pela sua rede.

Resumindo, existem pelo menos quatro situaes onde o rsync pode te ajudar:
copiando (ou sincronizando) arquivos entre dois diretrios locais;
copiando (ou sincronizando) arquivos de sua mquina local para um servidor remoto;
copiando (ou sincronizando) arquivos de um servidor remoto para sua mquina local;

2 de 5

06-03-2015 08:45

Transferindo arquivos com o rsync [Artigo]

http://www.vivaolinux.com.br/artigos/impressora...

listando os arquivos de um diretrio no servidor remoto (como um "remote ls").

DOWNLOAD E INSTALAO

Rsync quase que um pacote default em todas as distribuies. Aquelas que no o instalam numa
instalao do tipo bsica, com certeza possuem o pacote em algum lugar em seus CDs de
instalao. Consulte os mesmos para maiores informaes.
Como utilizo a distribuio Debian, a instalao do mesmo se faz com apenas um comando:
# apt-get install rsync
Se voc preferir, pode obter o software direto na fonte. Seu site oficial :
http://rsync.samba.org (http://rsync.samba.org)
E seu download pode ser obtido em:
ftp://rsync.samba.org/pub/rsync (ftp://rsync.samba.org/pub/rsync)

Para a comunicao entre duas mquinas com rsync funcionar, ser necessrio:
o programa rsync instalado em ambas as mquinas;
o servidor SSH (sshd) rodando no servidor.
Nota: se a comunicao for bilateral (ambas as mquinas enviam e recebem arquivos) o servio SSH
precisar estar rodando em ambas as mquinas.

FORMAS DE USO

3 de 5

06-03-2015 08:45

Transferindo arquivos com o rsync [Artigo]

http://www.vivaolinux.com.br/artigos/impressora...

Para cada situao anteriormente citada, o rsync apresenta uma sintaxe levemente diferente. Vamos
dar uma conferida em cada uma delas.

SINCRONIZANDO DIRETRIOS LOCAIS

Uso: rsync [opes] origem destino


Voc tem um diretrio recheado com arquivos importantes e deseja manter uma cpia fiel do mesmo
em outra localidade. Para copiar /home/fabio/artigos para para /var/backups/artigos, executamos:
$ rsync -Cravzp /home/fabio/artigos/ /var/backups/artigos/
Nota: supondo que /var/backups/artigos est criado e tenho permisses de escrita no mesmo.
Costumo utilizar a seqencia de opes Cravzp por considerar que nelas esto inclusas todas as
funcionalidades que necessito. Voc pode optar em confiar cegamente em minhas palavras ou dar
uma breve conferida na pgina de manual do software (man rsync) para descobrir o significado de
cada opo.

SINCRONIZANDO ARQUIVOS LOCAIS PARA UM SERVIDOR REMOTO

Um pr-requisito para enviar seus arquivos para o servidor remoto possuir uma conta de usurio no
sistema. Sendo assim, sua forma de uso :
rsync [opes] origem usuario@host:destino
Supondo que o diretrio /var/backups/artigos est localizado no servidor remoto cujo endereo IP
10.0.0.5 e minha conta de usurio possui login "fabio", executamos:
$ rsync -Cravzp /home/fabio/artigos/ fabio@10.0.0.5:/var/backups/artigos/
Surgir um prompt de senha, digite-a e pronto, os arquivos sero copiados.

SINCRONIZANDO ARQUIVOS DO SERVIDOR PARA SUA MQUINA


LOCAL

4 de 5

06-03-2015 08:45

Transferindo arquivos com o rsync [Artigo]

http://www.vivaolinux.com.br/artigos/impressora...

Esta situao tambm requer um login para autenticao no servidor, a menos que o mesmo esteja
configurado para aceitar conexes de usurios guest, fato comum em servidores mirrors, porm este
assunto est fora do escopo do artigo. Se voc entendeu como funciona o comando anterior, basta
inverter a ordem dos parmetros:
$ rsync -Cravzp fabio@10.0.0.5:/var/backups/artigos/ /home/fabio/artigos/

LISTANDO ARQUIVOS DO SERVIDOR

Esta forma de uso mais simples do rsync e seu pr-requisito o de possuir login de autenticao
no servidor (ou guest). Sintaxe:
rsync [opes] usuario@host:diretorio
Se voc deseja listar o diretrio /etc do servidor, pode usar o comando:
$ rsync -Cravzp fabio@10.0.0.5:/etc/
O "pulo do gato" dessa situao a omisso do diretrio de destino.
Bom, chegamos aos finalmentes. Se o seu provedor ainda no possui rsync instalado em seus
servidores Linux (http://www.vivaolinux.com.br/linux/), faa lobby, esperneie e em ltimo caso, mostre
este artigo ao departamento de suporte tcnico do mesmo.
Um belo caso de grande utilidade do rsync o prprio Viva o Linux. Mantenho o site atualizado
atravs deste software e se meu provedor no tivesse rsync, com certeza eu teria procurado outro.
E o pensamento do dia: "FTP coisa de cliqueiro, j era. FTP = (F)oi-se o (T)empo (P)eixe!".
[]'s, Fbio Berbert de Paula

Voltar (verArtigo.php?codigo=338)

5 de 5

06-03-2015 08:45