Cursos / Redes de Computadores / Redes de Computadores II / Aula

arrow_back Aula 10 - Transferência e Sincronização de Arquivos

Utilizando o rsync

A utilização do utilitário rsync segue o seguinte formato:

Onde pelo menos um dos caminhos deve ser local. O outro caminho pode ser local (para transferência em uma mesma máquina) ou remota (para transferência através da rede). Para indicação de um caminho remoto, o campo [host] deve ser incluído e separado por dois pontos (:), como nos formatos a seguir:


Copiando arquivos localmente

O rsync pode ser utilizado mesmo para transferências locais, se tornando interessante por não transferir arquivos que já estão no diretório de destino. O exemplo abaixo copia recursivamente (opção -a) todo o conteúdo do diretório /home/imd/aulas/ para dentro do diretório /usr/local/backup/ (a opção –v indica detalhes da transferência no terminal):


Copiando arquivos remotamente

Para transferências remotas, vamos manter o mesmo exemplo anterior, porém agora os arquivos devem ser transferidos para o diretório /usr/local/backup/ de um servidor remoto endereçado por 10.1.1.1 (considere um nome de usuário “aluno” na máquina remota).

Neste caso o rsync irá fazer uso do ssh para transferência dos arquivos para a máquina remota. Desta forma, ele poderá solicitar autenticação (senha do usuário na máquina remota). Note que no exemplo anterior a opção –z foi adicionada, pois desta forma os dados transferidos são compactados gerando um economia de banda.


Sincronizando dois diretórios

Considere que você chegou no trabalho e deseja sincronizar o diretório /home/imd, da sua máquina de casa (identificada pelo endereço teste.fulano.com.br), com o diretório /tmp/imd no seu notebook do trabalho, tornando assim o conteúdo do último igual ao do primeiro (considere um nome de usuário “aluno” na máquina remota). Considere o seguinte comando:

Note a presença de uma nova opção --delete, que apaga do destino qualquer arquivo que não esteja na origem, tornando assim o conteúdo do destino exatamente igual o da origem. Um detalhe importante vale a pena ser destacado, quando o diretório é especificado com a barra (/) no final do caminho, somente o conteúdo do diretório é copiado. Quando é usado sem a barra, o diretório é copiado. Ou seja, neste último exemplo somente o conteúdo do diretório /home/imd/ da máquina remota será sincronizado, e não a pasta imd propriamente dita.

Versão 5.3 - Todos os Direitos reservados