sexta-feira, 12 de abril de 2013

Rsync no Linux


Como utilizo a distribuição Debian, a instalação 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
E seu download pode ser obtido em:
  • ftp://rsync.samba.org/pub/rsync
Para a comunicação entre duas máquinas com rsync funcionar, será necessário:
  • * o programa rsync instalado em ambas as máquinas;
  • * o servidor SSH (sshd) rodando no servidor.
Nota: se a comunicação for bilateral (ambas as máquinas enviam e recebem arquivos) o serviço SSH precisará estar rodando em ambas as máquinas.
Formas de uso
Para cada situação anteriormente citada, o rsync apresenta uma sintaxe levemente diferente. Vamos dar uma conferida em cada uma delas.
Sincronizando diretórios locais
Uso: rsync [opções] origem destino
Você tem um diretório recheado com arquivos importantes e deseja manter uma cópia fiel do mesmo em outra localidade. Para copiar /home/henrique/artigos para para /var/backups/artigos, executamos:
$ rsync -av –delete-after /home/henrique/artigos/ /var/backups/artigos/
Nota: supondo que /var/backups/artigos está criado e tenho permissões de escrita no mesmo.
Costumo utilizar a seqüencia de opções “-av –delete-after” por considerar que nelas estão inclusas todas as funcionalidades que necessito. Você pode optar em confiar cegamente em minhas palavras ou dar uma breve conferida na página de manual do software (man rsync) para descobrir o significado de cada opção.
Sincronizando arquivos locais para um servidor remoto
Um pré-requisito para enviar seus arquivos para o servidor remoto é possuir uma conta de usuário no sistema. Sendo assim, sua forma de uso é:
rsync [opções] origem usuario@host:destino
Supondo que o diretório /var/backups/artigos está localizado no servidor remoto cujo endereço IP é 192.168.254.1 e minha conta de usuário possui login “henrique”, executamos:
$ rsync -av –delete-after /home/henrique/artigos/ henrique@192.168.254.1:/var/backups/artigos/
Surgirá um prompt de senha, digite-a e pronto, os arquivos serão copiados.
Sincronizando arquivos do servidor para sua máquina local
Esta situação também requer um login para autenticação no servidor, a menos que o mesmo esteja configurado para aceitar conexões de usuários guest, fato comum em servidores mirrors, porém este assunto está fora do escopo do artigo. Se você entendeu como funciona o comando anterior, basta inverter a ordem dos parâmetros:
$ rsync -av –delete-after henrique@192.168.254.1:/var/backups/artigos/ /home/henrique/artigos/
Listando arquivos do servidor
Esta é forma de uso mais simples do rsync e seu pré-requisito é o de possuir login de autenticação no servidor (ou guest). Sintaxe:
rsync [opções] usuario@host:diretorio
Se você deseja listar o diretório /etc do servidor, pode usar o comando:
$ rsync -av henrique@192.168.254.1:/etc/
O “pulo do gato” dessa situação é a omissão do diretório de destino.
Espero ter contribuído com esse artigo!

Nenhum comentário:

Postar um comentário