Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Redes de Computadores / Redes de Computadores II / Aula
A utilização do utilitário rsync segue o seguinte formato:
rsync [opções] [caminho_origem] [caminho_destino]
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:
rsync [opções] [host_remoto]:[caminho_origem] [caminho_destino]
rsync [opções] [caminho_origem] [host_remoto]:[caminho_destino]
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):
rsync –av /home/imd/aulas/ /usr/local/backup/
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).
rsync –avz /home/imd/aulas/ aluno@10.1.1.1:/usr/local/backup/
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.
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:
rsync –avz --delete aluno@teste.fulano.com.br:/home/imd/ /tmp/imd/
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