Você está na página 1de 39

Rsync

Versão 1.0.0
Sumário

I Sobre essa Apostila 3

II Informações Básicas 5

III GNU Free Documentation License 10

IV Rsync 19

1 O que é o Rsync 20

2 Plano de ensino 21
2.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.9 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3 Lição 1 - Introdução ao rsync 24


3.1 O que é rsync? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 As utilidades do rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4 Lição 2 - Instalação do rsync 25


4.1 Métodos de instalação do rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.1 Métodos possíveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Instalação utilizando o código fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.1 Instalaçao utilizando o código fonte . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Instalaçao utilizando o APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3.1 Instalaçao utilizando o APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4 Transferência local de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4.1 Preparando os arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.5 Comandos básicos do rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5.1 Comandos básicos do rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

4.6 Transferência Remota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


4.6.1 Preparando o servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.7 Visualizando e transferindo arquivos e pastas remotas . . . . . . . . . . . . . . . . . 31
4.7.1 Visualizando e transferindo arquivos e pastas remotas . . . . . . . . . . . . . 31
4.8 Exercendo as funcionalidades do rsync . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.8.1 Exercendo as funcionalidades do rsync . . . . . . . . . . . . . . . . . . . . . 32

5 Lição 4 - Comandos extras 36


5.1 Um pouco mais sobre rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1.1 Um pouco mais sobre rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2 Últimos comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.1 Últimos comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3 Links importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3.1 Links importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2
Parte I

Sobre essa Apostila

3
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Conteúdo
O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in-
ternet, disponíveis em diversos sites ou originalmente produzido no CDTC (http://www.cdtc.org.br.)

O formato original deste material bem como sua atualização está disponível dentro da licença
GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção de
mesmo nome, tendo inclusive uma versão traduzida (não oficial).

A revisão e alteração vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro
de 2006. Críticas e sugestões construtivas serão bem-vindas a qualquer hora.

Autores
A autoria deste é de responsabilidade de André Marra G. Araujo (andremarra@cdtc.org.br) .

O texto original faz parte do projeto Centro de Difusão de Tecnologia e Conhecimento que
vêm sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informação) em conjunto com
outros parceiros institucionais, e com as universidades federais brasileiras que tem produzido e
utilizado Software Livre apoiando inclusive a comunidade Free Software junto a outras entidades
no país.

Informações adicionais podem ser obtidas através do email ouvidoria@cdtc.org.br, ou da


home page da entidade, através da URL http://www.cdtc.org.br.

Garantias
O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi-
lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizam
direta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido.

Licença
Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br) .

Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.1 or any later version published by
the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS-
TILA. A copy of the license is included in the section entitled GNU Free Documentation
License.

4
Parte II

Informações Básicas

5
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Sobre o CDTC

Objetivo Geral

O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina-


ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito do
desenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira.

Objetivo Específico

Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário e


de código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre os
servidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercado
nacional a adotar novos modelos de negócio da tecnologia da informação e de novos negócios
de comunicação com base em software não-proprietário e de código fonte aberto, oferecendo
treinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários,
criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar como
incentivadores e defensores dos produtos de software não proprietários e código fonte aberto, ofe-
recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento de
produtos de software não proprietários e do seu código fonte livre, articulando redes de terceiros
(dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro-
dutos de software livre.

Guia do aluno

Neste guia, você terá reunidas uma série de informações importantes para que você comece
seu curso. São elas:

• Licenças para cópia de material disponível;

• Os 10 mandamentos do aluno de Educação a Distância;

• Como participar dos foruns e da wikipédia;

• Primeiros passos.

É muito importante que você entre em contato com TODAS estas informações, seguindo o
roteiro acima.

Licença

Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br).

6
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos
da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior
públicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA
APOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu-
mentação Livre GNU".

Os 10 mandamentos do aluno de educação online

• 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado é


pré-requisito para a participação nos cursos a distância;

• 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá-


tica é necessário para poder executar as tarefas;

• 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân-


cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal,
dos colegas e dos professores;

• 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seus


colegas de turma respeitando-os e se fazendo ser respeitado pelos mesmos;

• 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisão
e a sua recuperação de materiais;

• 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações e
realizá-las em tempo real;

• 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre;

• 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagens


e descobertas;

• 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente é


ponto - chave na comunicação pela Internet;

• 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual não
controla a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração.

Como participar dos fóruns e Wikipédia

Você tem um problema e precisa de ajuda?

Podemos te ajudar de 2 formas:

A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso:

. O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informações
que sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas a

7
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

todos participantes. Assim, se o monitor ou algum outro participante tiver uma informação que
interesse ao grupo, favor postá-la aqui.
Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico do
curso. É recomendado que você faça uso do Fórum de dúvidas gerais que lhe dá recursos mais
efetivos para esta prática.

. O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativo
para solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadas
a todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podem
ajudar.
Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com a
formalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópico
é recomendável ver se a sua pergunta já foi feita por outro participante.

A segunda forma se dá pelas Wikis:

. Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par-
ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podem
ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um
ótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé-
dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, por
pessoas de todas as partes do mundo. Acesse-a em português pelos links:

• Página principal da Wiki - http://pt.wikipedia.org/wiki/

Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo!

Primeiros Passos

Para uma melhor aprendizagem é recomendável que você siga os seguintes passos:

• Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar;

• Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar das
ferramentas básicas do mesmo;

• Entrar nas lições seguindo a seqüência descrita no Plano de Ensino;

• Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais.

Perfil do Tutor

Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores.

O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivos


valores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita as
idéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.

8
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e,
para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutor
ou instrutor:

• fornece explicações claras acerca do que ele espera e do estilo de classificação que irá
utilizar;

• gosta que lhe façam perguntas adicionais;

• identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por-
que motivo a classificação foi ou não foi atribuída’;

• tece comentários completos e construtivos, mas de forma agradável (em contraste com um
reparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, de
ameaça e de nervossismo’)

• dá uma ajuda complementar para encorajar um estudante em dificuldade;

• esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente;

• ajuda o estudante a alcançar os seus objetivos;

• é flexível quando necessário;

• mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso,


talvez numa fase menos interessante para o tutor);

• escreve todas as correções de forma legível e com um nível de pormenorização adequado;

• acima de tudo, devolve os trabalhos rapidamente;

9
Parte III

GNU Free Documentation License

10
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

(Traduzido pelo João S. O. Bueno através do CIPSGA em 2001)


Esta é uma tradução não oficial da Licença de Documentação Livre GNU em Português Brasi-
leiro. Ela não é publicada pela Free Software Foundation, e não se aplica legalmente a distribuição
de textos que usem a GFDL - apenas o texto original em Inglês da GNU FDL faz isso. Entretanto,
nós esperamos que esta tradução ajude falantes de português a entenderem melhor a GFDL.

This is an unofficial translation of the GNU General Documentation License into Brazilian Por-
tuguese. It was not published by the Free Software Foundation, and does not legally state the
distribution terms for software that uses the GFDL–only the original English text of the GFDL does
that. However, we hope that this translation will help Portuguese speakers understand the GFDL
better.

Licença de Documentação Livre GNU Versão 1.1, Março de 2000

Copyright (C) 2000 Free Software Foundation, Inc.


59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

É permitido a qualquer um copiar e distribuir cópias exatas deste documento de licença, mas
não é permitido alterá-lo.

INTRODUÇÃO
O propósito desta Licença é deixar um manual, livro-texto ou outro documento escrito "livre"no
sentido de liberdade: assegurar a qualquer um a efetiva liberdade de copiá-lo ou redistribui-lo,
com ou sem modificações, comercialmente ou não. Secundariamente, esta Licença mantém
para o autor e editor uma forma de ter crédito por seu trabalho, sem ser considerado responsável
pelas modificações feitas por terceiros.

Esta Licença é um tipo de "copyleft"("direitos revertidos"), o que significa que derivações do


documento precisam ser livres no mesmo sentido. Ela complementa a GNU Licença Pública Ge-
ral (GNU GPL), que é um copyleft para software livre.

Nós fizemos esta Licença para que seja usada em manuais de software livre, por que software
livre precisa de documentação livre: um programa livre deve ser acompanhado de manuais que
provenham as mesmas liberdades que o software possui. Mas esta Licença não está restrita a
manuais de software; ela pode ser usada para qualquer trabalho em texto, independentemente
do assunto ou se ele é publicado como um livro impresso. Nós recomendamos esta Licença prin-
cipalmente para trabalhos cujo propósito seja de introdução ou referência.

APLICABILIDADE E DEFINIÇÕES
Esta Licença se aplica a qualquer manual ou outro texto que contenha uma nota colocada pelo
detentor dos direitos autorais dizendo que ele pode ser distribuído sob os termos desta Licença.
O "Documento"abaixo se refere a qualquer manual ou texto. Qualquer pessoa do público é um

11
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

licenciado e é referida como "você".

Uma "Versão Modificada"do Documento se refere a qualquer trabalho contendo o documento


ou uma parte dele, quer copiada exatamente, quer com modificações e/ou traduzida em outra
língua.

Uma "Seção Secundária"é um apêndice ou uma seção inicial do Documento que trata ex-
clusivamente da relação dos editores ou dos autores do Documento com o assunto geral do
Documento (ou assuntos relacionados) e não contém nada que poderia ser incluído diretamente
nesse assunto geral (Por exemplo, se o Documento é em parte um livro texto de matemática, a
Seção Secundária pode não explicar nada de matemática).

Essa relação poderia ser uma questão de ligação histórica com o assunto, ou matérias relaci-
onadas, ou de posições legais, comerciais, filosóficas, éticas ou políticas relacionadas ao mesmo.

As "Seções Invariantes"são certas Seções Secundárias cujos títulos são designados, como
sendo de Seções Invariantes, na nota que diz que o Documento é publicado sob esta Licença.

Os "Textos de Capa"são certos trechos curtos de texto que são listados, como Textos de Capa
Frontal ou Textos da Quarta Capa, na nota que diz que o texto é publicado sob esta Licença.

Uma cópia "Transparente"do Documento significa uma cópia que pode ser lida automatica-
mente, representada num formato cuja especificação esteja disponível ao público geral, cujos
conteúdos possam ser vistos e editados diretamente e sem mecanismos especiais com editores
de texto genéricos ou (para imagens compostas de pixels) programas de pintura genéricos ou
(para desenhos) por algum editor de desenhos grandemente difundido, e que seja passível de
servir como entrada a formatadores de texto ou para tradução automática para uma variedade
de formatos que sirvam de entrada para formatadores de texto. Uma cópia feita em um formato
de arquivo outrossim Transparente cuja constituição tenha sido projetada para atrapalhar ou de-
sencorajar modificações subsequentes pelos leitores não é Transparente. Uma cópia que não é
"Transparente"é chamada de "Opaca".

Exemplos de formatos que podem ser usados para cópias Transparentes incluem ASCII sim-
ples sem marcações, formato de entrada do Texinfo, formato de entrada do LaTex, SGML ou XML
usando uma DTD disponibilizada publicamente, e HTML simples, compatível com os padrões, e
projetado para ser modificado por pessoas. Formatos opacos incluem PostScript, PDF, formatos
proprietários que podem ser lidos e editados apenas com processadores de texto proprietários,
SGML ou XML para os quais a DTD e/ou ferramentas de processamento e edição não estejam
disponíveis para o público, e HTML gerado automaticamente por alguns editores de texto com
finalidade apenas de saída.

A "Página do Título"significa, para um livro impresso, a página do título propriamente dita,


mais quaisquer páginas subsequentes quantas forem necessárias para conter, de forma legível,
o material que esta Licença requer que apareça na página do título. Para trabalhos que não
tenham uma página do título, "Página do Título"significa o texto próximo da aparição mais proe-
minente do título do trabalho, precedendo o início do corpo do texto.

12
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

FAZENDO CÓPIAS EXATAS


Você pode copiar e distribuir o Documento em qualquer meio, de forma comercial ou não
comercial, desde que esta Licença, as notas de copyright, e a nota de licença dizendo que esta
Licença se aplica ao documento estejam reproduzidas em todas as cópias, e que você não acres-
cente nenhuma outra condição, quaisquer que sejam, às desta Licença.

Você não pode usar medidas técnicas para obstruir ou controlar a leitura ou confecção de
cópias subsequentes das cópias que você fizer ou distribuir. Entretanto, você pode aceitar com-
pensação em troca de cópias. Se você distribuir uma quantidade grande o suficiente de cópias,
você também precisa respeitar as condições da seção 3.

Você também pode emprestar cópias, sob as mesmas condições colocadas acima, e também
pode exibir cópias publicamente.

FAZENDO CÓPIAS EM QUANTIDADE


Se você publicar cópias do Documento em número maior que 100, e a nota de licença do
Documento obrigar Textos de Capa, você precisará incluir as cópias em capas que tragam, clara
e legivelmente, todos esses Textos de Capa: Textos de Capa da Frente na capa da frente, e
Textos da Quarta Capa na capa de trás. Ambas as capas também precisam identificar clara e
legivelmente você como o editor dessas cópias. A capa da frente precisa apresentar o título com-
pleto com todas as palavras do título igualmente proeminentes e visíveis. Você pode adicionar
outros materiais às capas. Fazer cópias com modificações limitadas às capas, tanto quanto estas
preservem o título do documento e satisfaçam a essas condições, pode ser tratado como cópia
exata em outros aspectos.

Se os textos requeridos em qualquer das capas for muito volumoso para caber de forma
legível, você deve colocar os primeiros (tantos quantos couberem de forma razoável) na capa
verdadeira, e continuar os outros nas páginas adjacentes.

Se você publicar ou distribuir cópias Opacas do Documento em número maior que 100, você
precisa ou incluir uma cópia Transparente que possa ser lida automaticamente com cada cópia
Opaca, ou informar, em ou com, cada cópia Opaca a localização de uma cópia Transparente
completa do Documento acessível publicamente em uma rede de computadores, à qual o público
usuário de redes tenha acesso a download gratuito e anônimo utilizando padrões públicos de
protocolos de rede. Se você utilizar o segundo método, você precisará tomar cuidados razoavel-
mente prudentes, quando iniciar a distribuição de cópias Opacas em quantidade, para assegurar
que esta cópia Transparente vai permanecer acessível desta forma na localização especificada
por pelo menos um ano depois da última vez em que você distribuir uma cópia Opaca (direta-
mente ou através de seus agentes ou distribuidores) daquela edição para o público.

É pedido, mas não é obrigatório, que você contate os autores do Documento bem antes de
redistribuir qualquer grande número de cópias, para lhes dar uma oportunidade de prover você
com uma versão atualizada do Documento.

13
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

MODIFICAÇÕES
Você pode copiar e distribuir uma Versão Modificada do Documento sob as condições das se-
ções 2 e 3 acima, desde que você publique a Versão Modificada estritamente sob esta Licença,
com a Versão Modificada tomando o papel do Documento, de forma a licenciar a distribuição
e modificação da Versão Modificada para quem quer que possua uma cópia da mesma. Além
disso, você precisa fazer o seguinte na versão modificada:

A. Usar na Página de Título (e nas capas, se houver alguma) um título distinto daquele do Do-
cumento, e daqueles de versões anteriores (que deveriam, se houvesse algum, estarem listados
na seção "Histórico do Documento"). Você pode usar o mesmo título de uma versão anterior se
o editor original daquela versão lhe der permissão;

B. Listar na Página de Título, como autores, uma ou mais das pessoas ou entidades responsá-
veis pela autoria das modificações na Versão Modificada, conjuntamente com pelo menos cinco
dos autores principais do Documento (todos os seus autores principais, se ele tiver menos que
cinco);

C. Colocar na Página de Título o nome do editor da Versão Modificada, como o editor;

D. Preservar todas as notas de copyright do Documento;

E. Adicionar uma nota de copyright apropriada para suas próprias modificações adjacente às
outras notas de copyright;

F. Incluir, imediatamente depois das notas de copyright, uma nota de licença dando ao público
o direito de usar a Versão Modificada sob os termos desta Licença, na forma mostrada no tópico
abaixo;

G. Preservar nessa nota de licença as listas completas das Seções Invariantes e os Textos de
Capa requeridos dados na nota de licença do Documento;

H. Incluir uma cópia inalterada desta Licença;

I. Preservar a seção entitulada "Histórico", e seu título, e adicionar à mesma um item dizendo
pelo menos o título, ano, novos autores e editor da Versão Modificada como dados na Página de
Título. Se não houver uma sessão denominada "Histórico"no Documento, criar uma dizendo o
título, ano, autores, e editor do Documento como dados em sua Página de Título, então adicionar
um item descrevendo a Versão Modificada, tal como descrito na sentença anterior;

J. Preservar o endereço de rede, se algum, dado no Documento para acesso público a uma
cópia Transparente do Documento, e da mesma forma, as localizações de rede dadas no Docu-
mento para as versões anteriores em que ele foi baseado. Elas podem ser colocadas na seção
"Histórico". Você pode omitir uma localização na rede para um trabalho que tenha sido publicado
pelo menos quatro anos antes do Documento, ou se o editor original da versão a que ela se refira
der sua permissão;

K. Em qualquer seção entitulada "Agradecimentos"ou "Dedicatórias", preservar o título da

14
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

seção e preservar a seção em toda substância e fim de cada um dos agradecimentos de contri-
buidores e/ou dedicatórias dados;

L. Preservar todas as Seções Invariantes do Documento, inalteradas em seus textos ou em


seus títulos. Números de seção ou equivalentes não são considerados parte dos títulos da seção;

M. Apagar qualquer seção entitulada "Endossos". Tal sessão não pode ser incluída na Versão
Modificada;

N. Não reentitular qualquer seção existente com o título "Endossos"ou com qualquer outro
título dado a uma Seção Invariante.

Se a Versão Modificada incluir novas seções iniciais ou apêndices que se qualifiquem como
Seções Secundárias e não contenham nenhum material copiado do Documento, você pode optar
por designar alguma ou todas aquelas seções como invariantes. Para fazer isso, adicione seus
títulos à lista de Seções Invariantes na nota de licença da Versão Modificada. Esses títulos preci-
sam ser diferentes de qualquer outro título de seção.

Você pode adicionar uma seção entitulada "Endossos", desde que ela não contenha qual-
quer coisa além de endossos da sua Versão Modificada por várias pessoas ou entidades - por
exemplo, declarações de revisores ou de que o texto foi aprovado por uma organização como a
definição oficial de um padrão.

Você pode adicionar uma passagem de até cinco palavras como um Texto de Capa da Frente
, e uma passagem de até 25 palavras como um Texto de Quarta Capa, ao final da lista de Textos
de Capa na Versão Modificada. Somente uma passagem de Texto da Capa da Frente e uma de
Texto da Quarta Capa podem ser adicionados por (ou por acordos feitos por) qualquer entidade.
Se o Documento já incluir um texto de capa para a mesma capa, adicionado previamente por
você ou por acordo feito com alguma entidade para a qual você esteja agindo, você não pode
adicionar um outro; mas você pode trocar o antigo, com permissão explícita do editor anterior que
adicionou a passagem antiga.

O(s) autor(es) e editor(es) do Documento não dão permissão por esta Licença para que seus
nomes sejam usados para publicidade ou para assegurar ou implicar endossamento de qualquer
Versão Modificada.

COMBINANDO DOCUMENTOS
Você pode combinar o Documento com outros documentos publicados sob esta Licença, sob
os termos definidos na seção 4 acima para versões modificadas, desde que você inclua na com-
binação todas as Seções Invariantes de todos os documentos originais, sem modificações, e liste
todas elas como Seções Invariantes de seu trabalho combinado em sua nota de licença.

O trabalho combinado precisa conter apenas uma cópia desta Licença, e Seções Invariantes
Idênticas com multiplas ocorrências podem ser substituídas por apenas uma cópia. Se houver
múltiplas Seções Invariantes com o mesmo nome mas com conteúdos distintos, faça o título de

15
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

cada seção único adicionando ao final do mesmo, em parênteses, o nome do autor ou editor
origianl daquela seção, se for conhecido, ou um número que seja único. Faça o mesmo ajuste
nos títulos de seção na lista de Seções Invariantes nota de licença do trabalho combinado.

Na combinação, você precisa combinar quaisquer seções entituladas "Histórico"dos diver-


sos documentos originais, formando uma seção entitulada "Histórico"; da mesma forma combine
quaisquer seções entituladas "Agradecimentos", ou "Dedicatórias". Você precisa apagar todas as
seções entituladas como "Endosso".

COLETÂNEAS DE DOCUMENTOS
Você pode fazer uma coletânea consitindo do Documento e outros documentos publicados
sob esta Licença, e substituir as cópias individuais desta Licença nos vários documentos com
uma única cópia incluida na coletânea, desde que você siga as regras desta Licença para cópia
exata de cada um dos Documentos em todos os outros aspectos.

Você pode extrair um único documento de tal coletânea, e distribuí-lo individualmente sob
esta Licença, desde que você insira uma cópia desta Licença no documento extraído, e siga esta
Licença em todos os outros aspectos relacionados à cópia exata daquele documento.

AGREGAÇÃO COM TRABALHOS INDEPENDENTES


Uma compilação do Documento ou derivados dele com outros trabalhos ou documentos se-
parados e independentes, em um volume ou mídia de distribuição, não conta como uma Ver-
são Modificada do Documento, desde que nenhum copyright de compilação seja reclamado pela
compilação. Tal compilação é chamada um "agregado", e esta Licença não se aplica aos outros
trabalhos auto-contidos compilados junto com o Documento, só por conta de terem sido assim
compilados, e eles não são trabalhos derivados do Documento.

Se o requerido para o Texto de Capa na seção 3 for aplicável a essas cópias do Documento,
então, se o Documento constituir menos de um quarto de todo o agregado, os Textos de Capa
do Documento podem ser colocados em capas adjacentes ao Documento dentro do agregado.
Senão eles precisarão aparecer nas capas de todo o agregado.

TRADUÇÃO
Tradução é considerada como um tipo de modificação, então você pode distribuir traduções
do Documento sob os termos da seção 4. A substituição de Seções Invariantes por traduções
requer uma permissão especial dos detentores do copyright das mesmas, mas você pode incluir
traduções de algumas ou de todas as Seções Invariantes em adição às versões orignais dessas
Seções Invariantes. Você pode incluir uma tradução desta Licença desde que você também in-
clua a versão original em Inglês desta Licença. No caso de discordância entre a tradução e a

16
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

versão original em Inglês desta Licença, a versão original em Inglês prevalecerá.

TÉRMINO
Você não pode copiar, modificar, sublicenciar, ou distribuir o Documento exceto como expres-
samente especificado sob esta Licença. Qualquer outra tentativa de copiar, modificar, sublicen-
ciar, ou distribuir o Documento é nula, e resultará automaticamente no término de seus direitos
sob esta Licença. Entretanto, terceiros que tenham recebido cópias, ou direitos de você sob esta
Licença não terão suas licenças terminadas, tanto quanto esses terceiros permaneçam em total
acordo com esta Licença.

REVISÕES FUTURAS DESTA LICENÇA


A Free Software Foundation pode publicar novas versões revisadas da Licença de Documen-
tação Livre GNU de tempos em tempos. Tais novas versões serão similares em espirito à versão
presente, mas podem diferir em detalhes ao abordarem novos porblemas e preocupações. Veja
http://www.gnu.org/copyleft/.

A cada versão da Licença é dado um número de versão distinto. Se o Documento especificar


que uma versão particular desta Licença "ou qualquer versão posterior"se aplica ao mesmo, você
tem a opção de seguir os termos e condições daquela versão específica, ou de qualquer versão
posterior que tenha sido publicada (não como rascunho) pela Free Software Foundation. Se o
Documento não especificar um número de Versão desta Licença, você pode escolher qualquer
versão já publicada (não como rascunho) pela Free Software Foundation.

ADENDO: Como usar esta Licença para seus documentos

Para usar esta Licença num documento que você escreveu, inclua uma cópia desta Licença
no documento e ponha as seguintes notas de copyright e licenças logo após a página de título:

Copyright (c) ANO SEU NOME.


É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença
de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Free Soft-
ware Foundation; com as Seções Invariantes sendo LISTE SEUS TÍTULOS, com os Textos da
Capa da Frente sendo LISTE, e com os Textos da Quarta-Capa sendo LISTE. Uma cópia da li-
cença está inclusa na seção entitulada "Licença de Documentação Livre GNU".

Se você não tiver nenhuma Seção Invariante, escreva "sem Seções Invariantes"ao invés de
dizer quais são invariantes. Se você não tiver Textos de Capa da Frente, escreva "sem Textos de
Capa da Frente"ao invés de "com os Textos de Capa da Frente sendo LISTE"; o mesmo para os
Textos da Quarta Capa.

Se o seu documento contiver exemplos não triviais de código de programas, nós recomenda-
mos a publicação desses exemplos em paralelo sob a sua escolha de licença de software livre,

17
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

tal como a GNU General Public License, para permitir o seu uso em software livre.

18
Parte IV

Rsync

19
Capítulo 1

O que é o Rsync

O rsync é uma ferramenta para transferência e sincronização de dados entre máquinas remo-
tas, ou até mesmo entre arquivos locais. Então, você deve estar pensando : "mais um desses
programas de transferência de arquivos, assim como o FTP, o RCP, entre outros". Porém o rsync
possui um protocolo de transferência muito mais eficaz, que aumenta consideravelmente a velo-
cidade da transmissão, principalmente quando o local de destino está sendo atualizado.
O curso, com base na distribuição Debian, tem uma semana, o conteúdo do curso estará
visível somente a partir da data de início. Para começar o curso você deve ler o Guia do aluno a
seguir.

20
Capítulo 2

Plano de ensino

2.1 Objetivo
Qualificar usuários capazes de sincronizar e criar um servidor rsync.

2.2 Público Alvo


Usuários que desejam transferir arquivos remotamente.

2.3 Pré-requisitos
O curso não possui pré-requisito.

2.4 Descrição
O curso de rsync será realizado na modalidade EAD e utilizará a plataforma Moodle como
ferramenta de aprendizagem. Ele é composto de um módulo de aprendizado que será dado
na primeira semana. O material didático estará disponível on-line de acordo com as datas pré-
estabelecidas no calendário. METODOLOGIA
O curso está dividido da seguinte maneira:

Duração Descrição do Módulo


1 semana Lição 1 - Introdução ao rsync
Lição 2 - Instalação do rsync
Lição 3 - Operações básicas
Lição 4 - Comandos extras

Todo o material está no formato de lições, e estará disponível ao longo do curso. As lições
poderão ser acessadas quantas vezes forem necessárias. Aconselhamos a leitura da "Ambien-
tação do Moodle", para que você conheça o produto de Ensino à Distância, evitando dificuldades
advindas do "desconhecimento"sobre o mesmo.
Os instrutores estarão à sua disposição ao longo de todo curso. Qualquer dúvida deve ser
disponibilizada no fórum ou enviada por e-mail. Diariamente os monitores darão respostas e
esclarecimentos.

21
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

2.5 Metodologia
O curso está dividido da seguinte maneira:

2.6 Cronograma
• Lição 1 - Introdução ao rsync;

• Lição 2 - Instalação do rsync;

• Lição 3 - Operações básicas;

• Lição 4 - Comandos extras.

2.7 Programa
O curso de rsync oferecerá o seguinte conteúdo:

• introdução e instalação;

• uso das ferramentas mais comuns.

2.8 Avaliação
Toda a avaliação será feita on-line.
Aspectos a serem considerados na avaliação:

• iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento;

• capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados.

Instrumentos de avaliação:

• participação ativa nas atividades programadas;

• avaliação ao final do curso;

• o participante fará várias avaliações referentes ao conteúdo do curso. Para a aprovação e


obtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordo
com a fórmula abaixo:

• Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições;

• AF = Avaliações.

22
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

2.9 Bibliografia
• Site official: http://samba.anu.edu.au/rsync/

• Site de documentação oficial: http://samba.anu.edu.au/rsync/documentation.html

• Artigo relacionado ao rsync: http://www.devshed.com/c/a/Administration/File-Synchronization-


With-Rsync/6/

• Tutorial do rsync: http://everythinglinux.org/rsync/

• man page: $ man rsync

23
Capítulo 3

Lição 1 - Introdução ao rsync

3.1 O que é rsync?


3.1.1 As utilidades do rsync
O rsync é uma ferramenta para transferência e sincronização de dados entre máquinas remo-
tas, ou até mesmo entre arquivos locais. Então, você deve estar pensando : "mais um desses
programas de transferência de arquivos, assim como o FTP, o RCP, entre outros". Porém o rsync
possui um protocolo de transferência muito mais eficaz, que aumenta consideravelmente a velo-
cidade da transmissão, principalmente quando o local de destino está sendo atualizado.
O protocolo de atualização do rsync possibilita a transferência somente dos arquivos, ou parte
dos arquivos que foram alterados. Para fazer isso ele utiliza um algoritmo bastante eficiente
de busca, se quiser saber de detalhes mais aprofundados sobre como funciona esse algoritmo
acesse a página: http://dp.samba.org/rsync/tech_report/ (página em inglês). Porém não é ne-
cessário que você se preocupe com esse funcionamento. O uso desse algoritmo é bastante
vantajoso já que diminui o tempo gasto na transferência e economiza banda da conexão.
Além desse protocolo de transferência o rsync possui outras características interessantes:
* cópia de permissões e outros atributos dos arquivos; * não é necessário permissão de super
usuário (i.e. root) para utilizá-lo; * permite acesso de usuários anônimos.
Nas seções a seguir falaremos sobre o rsync e como utilizá-lo de maneira bastante prática.
Lembre-se de tirar suas dúvidas no fórum ou com o instrutor do curso. Bom curso!

24
Capítulo 4

Lição 2 - Instalação do rsync

4.1 Métodos de instalação do rsync


4.1.1 Métodos possíveis
Os seguintes métodos de instalação serão abordados nessa lição:

• utilizando código fonte;

• utilzando APT.

Esse curso foi feito utilizando a versão 2.6.4. Caso já tenha o rsync instalado verifique sua
versão com o seguinte comando: rsync –version

sync version 2.6.4 protocol version 29


Copyright (C) 1996-2005 by Andrew Tridgell and others
<http://rsync.samba.org/>
Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
inplace, IPv6, 64-bit system inums, 64-bit internal inums

rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.

A saída acima aparece quando o comando rsync –version é executado, note que a versão
utilizada nesse caso é a versão 2.6.4 e esse número provavelmente será diferente no seu caso.
Caso a sua versão seja mais antiga do que a apresentada, tente atualizá-la para um melhor
aproveitamento do curso.
Vamos, então, aos possíveis processos de instalação do rsync!

4.2 Instalação utilizando o código fonte


4.2.1 Instalaçao utilizando o código fonte
Antes de instalarmos o programa devemos baixá-lo. Para isso acesse o site:
http://samba.anu.edu.au/rsync/download.html e baixe a versão mais nova, o nome do arquivo
será: rsync-*.tar.gz, onde o "*"deve ser substituído pela versão mais atual.

25
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Depois de feito o download, entre no sistema com um super usuário (i.e. root) utilizando o
comando su.

capim@capim-vm:~$ su
Password:
capim-vm:/home/capim#

Extraia os arquivos em uma pasta temporária.

capim-vm:~# cd /tmp
capim-vm:/tmp# tar -xvzf ~/rsync-*.tar.gz

Configure o o pacote com o script "configure".

capim-vm:/tmp# cd /tmp/rsync-*
capim-vm:/tmp/rsync-2.6.4# ./configure

Compile e instale:

capim-vm:/tmp/rsync-2.6.4# make
capim-vm:/tmp/rsync-2.6.4# make install

O executável do rsync provavelmente estará instalado no diretório: /usr/local/bin. Verifique se


o rsync está realmente instalado utilizando o comando: rsync

capim-vm:/etc# rsync
[output]

Se o rsync estiver instalado um output bem longo com os principais comandos do programa
aparecerá na tela. Senão uma mensagem de erro aparecerá.

capim-vm:/etc# rsync
bash: rsync: command not found

Pronto! Se tudo deu certo o rsync está instalado na máquina.

4.3 Instalaçao utilizando o APT


4.3.1 Instalaçao utilizando o APT
O APT é um manipulador de pacotes utilizado em sistemas Debian, ou baseados nele. Nessa
seção o APT será utilizado para instalar o rsync.
Antes da instalação é importante certificar-se de que o banco de programas local do APT
esteja atualizado, para que a versão mais recente seja baixada. Para isso entre no sistema com
um super usuário (i.e. root) utilizando o comando su.

capim@capim-vm:~$ su
Password:
capim-vm:/home/capim#

26
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

E depois utilize o comando apt-get update para atualizar o banco.

capim-vm:/etc# apt-get update


[output]

Para instalar o rsync, utilize o comando apt-get install rsync.

capim-vm:/etc# apt-get install rsync


[output]

Para verificar se o programa está realmente instalado utilize o comando rsync.

capim-vm:/etc# rsync
[output]

Se o rsync estiver instalado um output bem longo com os principais comandos do programa
aparecerá na tela. Senão uma mensagem de erro aparecerá.

capim-vm:/etc# rsync
bash: rsync: command not found

Pronto! Se tudo deu certo o rsync está instalado. O executável provavelmente estará locali-
zado na pasta /usr/bin.
Lembre-se que o rsync quando utilizado para baixar arquivo de uma máquina remota deve
estar instalado tanto na máquina local quanto na máquina remota. Vamos tratar mais sobre esse
assunto nas lições a seguir.

4.4 Transferência local de arquivos


4.4.1 Preparando os arquivos
Começaremos tratando da transferência de arquivos em uma máquina local e depois utilizare-
mos o rsync para sincronizar arquivos entre máquinas remotas. Para exemplificar os comandos,
eu vou criar uma pasta e colocar o código fonte do rsync dentro dela, para que depois eu possa
transferir esses arquivos utilizando o rsync. Porém, você provavelmente o utilizará em outros ca-
sos. Para que todos os passos possam ser executados, também por você, vou falar exatamente
como fiz para criar as pastas e adicionar os arquivos dentro dela.
Primeiro, eu criei uma pasta de nome rsync_files, que no meu caso está localizado no diretório
/home/capim/stuff (repare que representa o home do usuário).

capim@capim-laptop:~/stuff$ mkdir rsync_files


capim@capim-laptop:~/stuff$ cd rsync_files

Depois copiei os arquivos fonte compactados na pasta criada.

capim@capim-laptop:~/stuff/rsync_files$ cp /home/capim/Desktop/rsync-2.6.9.tar.gz
/home/capim/stuff/rsync_files/

Então extraí os arquivos nessa pasta.

27
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

capim@capim-laptop:~/stuff/rsync\_files$ tar -xzvf rsync-2.6.9.tar.gz


Repare que a pasta rsync-2.6.9, foi criada (lembre-se que a versão do rsync pode ser diferente
da minha, então a pasta não necessariamente será rsync-2.6.9).

capim@capim-laptop:~/stuff/rsync_files$ ls
rsync-2.6.9 rsync-2.6.9.tar.gz
Agora vou criar uma pasta de destino para esses arquivos (verifique que a pasta está real-
mente vazia).

capim@capim-laptop:~/stuff$ mkdir rsync_backup


capim@capim-laptop:~/stuff/rsync_backup$ ls -l
total 0
Antes de utilizarmos o rsync para transferir os arquivos, é importante que saibamos alguns
comandos básicos do programa. Na página seguinte trataremos sobre esses comandos.

4.5 Comandos básicos do rsync


4.5.1 Comandos básicos do rsync
A sintaxe para utilizarmos o rsync é bem parecida com o comando cp, porém é importante
saber alguns argumentos que podem ser passados para o programa. O rsync deve ser utilizado
de acordo com a seguinte sintaxe:

rsync <argumento> <pasta ou arquivo a ser copiado> <pasta em que será colado>
Alguns argumentos bastante utilizados são:
-r ou –recursive: copia arquivos que estão dentro dos diretórios. –stats: mostra algumas
informações sobre a transferência.
Agora que já sabemos o básico do funcionamento do programa, vamos, finalmente, utilizá-lo
para transferir os arquivos de uma pasta para outra!
O comando a seguir irá copiar os arquivos da pasta rsync_files para a pasta rsync_backup.

capim@capim-laptop:~/stuff$ rsync -r --stats rsync_files/ rsync_backup

Number of files: 229


Number of files transferred: 216
Total file size: 3942735 bytes
Total transferred file size: 3942735 bytes
Literal data: 3942735 bytes
Matched data: 0 bytes
File list size: 4642
File list generation time: 0.002 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 3957681
Total bytes received: 4844

sent 3957681 bytes received 4844 bytes 7925050.00 bytes/sec


total size is 3942735 speedup is 1.00

28
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

capim@capim-laptop:~/stuff$ cd rsync_backup
capim@capim-laptop:~/stuff/rsync_backup$ ls
rsync-2.6.9 rsync-2.6.9.tar.gz

A parte que começa em "Number of files:" e termina em "speedup is 1.00" só foi impressa
devido ao argumento –stats. Utilizamos o argumento -r para que os arquivos dentro da pasta
rsync_files fossem copiados. Sempre que desejarmos copiar uma pasta inteira devemos utilizar
o argumento -r. Só para me certificar entrei na pasta e verifiquei se os arquivos realmente foram
copiados, e está tudo certo!
Pronto! Fizemos nossa primeira cópia utilizando o rsync. Vamos utilizar o rsync agora para
fazer uma transferência de arquivos entre máquinas remotas. Por enquanto tudo que fizemos é
possível de ser feito com outros programas. Mas em breve vamos aprender funcionalidades mais
avançadas do rsync. Aguente firme!

4.6 Transferência Remota


Utilizamos o rsync para fazer uma transferência local e aprendemos alguns comandos bási-
cos dele. Vamos agora fazer uma transferência entre máquinas remotas, mas antes temos que
configurar um servidor para que os arquivos possam ser acessados.

4.6.1 Preparando o servidor


Fazer o rsync virar um servidor de arquivos é bastante fácil! Para isso, vamos aprender
alguns argumentos novos, editar um arquivo de configuração e pronto. Um servidor rsync estará
instalado em sua máquina para que outra máquina possa se conectar a ele e sincronizar os
arquivos.
Antes de qualquer coisa devemos configurar o arquivo rsyncd.conf no computador que ser-
virá os arquivos. Normalmente esse arquivo se encontra em /etc/rsyncd.conf porém é possível
configurar o rsync para utilizar um arquivo em outro local com o comando rsync –daemon –config
<nome do arquivo>. No exemplo a seguir o arquivo está localizado em /etc/rsyncd.conf.

capim@capim-vm:~$ rsync --daemon --config /etc/rsyncd.conf

Dois novos argumentos foram utilizados nesse comando:


–daemon: qualquer coisa que seja referente ao servidor deve ter esse argumento. Se utili-
zado sozinho inicia o servidor;
–config: é utilizado para configurar o local onde se encontra o arquivo de configuração do
rsync. (essa é uma opção do servidor, por isso deve ser precedido do argumento –daemon).
Vamos então editar o arquivo de configuração. Utilize seu editor de textos favorito e abra o
arquivo de configuração do rsync (i.e. /etc/rsyncd.conf).

capim-vm:/home/capim# nano /etc/rsyncd.conf

Explicarei o arquivo de configuração utilizando o exemplo:

01 motd file = /etc/rsync.motd


02 log file = /var/log/rsyncd.log
03

29
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

04 [nome_remoto]
05 path = /pasta_compartilhada
06 comment = Minha pasta compartilhada
07 read Xonly= no
08 list = yes

Obs.: Os números no começo da linha não fazem parte do arquivo, e servem apenas para
que a explicação fique mais clara.
O item motd file na linha 1 serve para configurar o arquivo que terá uma mensagem de boas
vindas para os usuários que se conectarem ao servidor. Por exemplo:

capim-vm:/home/capim# cat /etc/rsync.motd

Você está conectado ao meu servidor de rsync.


Seja bem vindo!

Obs.: motd (message of the day) vem do inglês e quer dizer mensagem do dia.
O item log file na linha 2 configura o arquivo de log do rsync, ou seja, grava as atividades
principais que são executadas no servidor do rsync. Por exemplo:

capim-vm:/home/capim# cat /var/log/rsyncd.log


2006/11/07 11:56:11 [5936] rsyncd version 2.6.4 starting, listening on port 873
2006/11/07 12:00:07 [5938] name lookup failed for 192.168.0.100: Name or
service not known
2006/11/07 12:00:07 [5938] rsync on home/ from UNKNOWN (192.168.0.100)
2006/11/07 12:00:07 [5938] rsync: opendir "/.links" (in home) failed:
Permission denied (13)
2006/11/07 12:00:07 [5938] rsync: send_files failed to open "/.bash_history"
(in home): Permission denied (13)
2006/11/07 12:00:07 [5938] sent 4408 bytes received 230 bytes total size 4261
2006/11/07 12:00:07 [5938] rsync error: some files could not be transferred
(code 23) at main.c(524)
2006/11/07 12:02:58 [5945] name lookup failed for 192.168.0.100: Name or
service not known
2006/11/07 12:02:58 [5945] rsync on home/ from UNKNOWN (192.168.0.100)
2006/11/07 12:02:58 [5945] sent 1650 bytes received 158 bytes total size 1314
2006/11/08 17:48:11 [3218] rsyncd version 2.6.4 starting, listening on port 873
capim-vm:/home/capim#

O item [nome_remoto] na linha 4 serve para especificar um "apelido"para a pasta referente


a path (na linha 5), onde nome_remoto deve ser substituido pelo "apelido"da pasta. Ficará mais
fácil entender esse nome nas seções a seguir.
O item path na linha 5 especifica a pasta em que os usuários terão acesso e poderão sincro-
nizar arquivos ou pastas.
O item comment na linha 6 serve apenas para fazer um breve comentário sobre a pasta.
O item read only na linha 7 especifica se a pasta será somente para leitura, ou se poderá ser
alterada também. Utiliza as opções yes (sim) e no (não).
O item list na linha 8 especifica se a pasta poderá ser vista quando utilizado o comando de
listagem de pastas. Utiliza as opções yes (sim) e no (não).

30
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Agora que você já sabe como criar um arquivo básico de configuração do rsync, crie o seu e
configure o rsync para lê-lo com o comando (rsync –daemon –configure).
Com o arquivo de configuração criado, basta executar o comando rsync –daemon.

root@capim-laptop:/home/capim# rsync --daemon

Pronto! Temos um servidor de rsync pronto para "sincronizar"arquivos e pastas!

4.7 Visualizando e transferindo arquivos e pastas remotas


4.7.1 Visualizando e transferindo arquivos e pastas remotas
Antes de baixar os arquivos de um servidor, é possível listar as pastas que estão sendo com-
partilhadas por ele. Para isso usamos o comando rsync nome_do_servidor:: . Veja o exemplo:

root@capim-laptop:/home/capim# rsync localhost::


Ola!

web Diretorio de arquivos da Web


home Diretorio de arquivos Home

No exemplo as pastas de "apelido"web e home estão sendo compartilhadas e a opção list foi
marcada como yes no arquivo rsyncd.conf do servidor e a opção comment aparece do lado direito
de cada pasta.
Obs.: Repare que o servidor é o meu próprio computador, sempre que for necessário se
conectar com o próprio computador o nome_do_servidor deve ser localhost. No entanto não é
interessante utilizarmos essa opção no rsync, já que ele é capaz de copiar pastas locais sem tanto
trabalho. Estabelecemos essa conexão somente para teste. No caso do servidor teste.sytes.net
deveriamos utilizar o comando rsync teste.sytes.net:: .
Veja o arquivo rsyncd.conf do servidor:

root@capim-laptop:/home/capim# cat /etc/rsyncd.conf


motd file = /etc/rsync.motd
log file = /var/log/rsyncd.log

[web]
path = /home/capim/web
comment = Diretorio de arquivos da Web
read Xonly= no
list = yes

[home]

path = /home/capim
comment = Diretorio de arquivos Home
read Xonly= yes
list = yes

root@capim-laptop:/home/capim#

31
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Então, agora que já sabemos algumas pastas que são compartilhadas no servidor, vamos
aprender como baixar essas pastas. A sintaxe de cópia remota, segue a mesma de cópia local,
porém adicionamos nome_do_servidor:: antes da pasta ser copiada. Veja o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_net# rsync -r --stats --progress


localhost::web /home/capim/stuff/rsync\_net
Ola!

receiving file list ...


1 file to consider

Number of files: 1
Number of files transferred: 0
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 20
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 61
Total bytes received: 66

sent 61 bytes received 66 bytes 254.00 bytes/sec


total size is 0 speedup is 0.00
root@capim-laptop:/home/capim/stuff/rsync_net#

Repare o argumento –progress que é utilizado para mostrar o progresso da transferência dos
arquivos.
Pronto os arquivos da pasta de "apelido"web, foram baixadas para a pasta /home/capim/stuff/
rsync_net no computador local.

4.8 Exercendo as funcionalidades do rsync


4.8.1 Exercendo as funcionalidades do rsync
Nas seções anteriores vimos que o rsync realmente é capaz de copiar arquivos de uma pasta
para outra, e como isso é fácil! Vamos agora comprovar que ele realmente copia somente as
partes dos arquivos alterados tornando a transferência muito mais rápida!
Para isso vou criar a pasta rsync_net e compartilhá-la no servidor rsync da seguinte forma:

root@capim-laptop:/home/capim/stuff# mkdir rsync_net

root@capim-laptop:/home/capim/stuff# nano /etc/rsyncd.conf

root@capim-laptop:/home/capim/stuff# cat /etc/rsyncd.conf


motd file = /etc/rsync.motd
log file = /var/log/rsyncd.log

32
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

[web]
path = /home/capim/web
comment = Diretorio de arquivos da Web
read Xonly= no
list = yes

[home]

path = /home/capim
comment = Diretorio de arquivos Home
read Xonly= yes
list = yes

[rsync_source]

path = /home/capim/stuff/rsync_net
comment = Codigo fonte do rsync
read Xonly= no
list = yes

root@capim-laptop:/home/capim/stuff# rsync localhost::


Ola!

web Diretorio de arquivos da Web


home Diretorio de arquivos Home
rsync_source Codigo fonte do rsync
Agora vou enviar os arquivos do meu computador para a pasta criada utilizando o rsync da
seguinte forma:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync --recursive


--stats --progress . localhost::rsync_source
Ola!

building file list ...


227 files to consider
COPYING
[output extenso dos arquivos transferidos]

Number of files: 227


Number of files transferred: 215
Total file size: 3130894 bytes
Total transferred file size: 3130894 bytes
Literal data: 3130894 bytes
Matched data: 0 bytes
File list size: 4041
File list generation time: 0.002 seconds
File list transfer time: 0.000 seconds

33
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Total bytes sent: 3145087


Total bytes received: 4812

sent 3145087 bytes received 4812 bytes 2099932.67 bytes/sec


total size is 3130894 speedup is 0.99

Para verificar a funcionalidade do rsync vou alterar, criar e adicionar alguns arquivos.

root@capim-laptop:/home/capim/stuff/rsync_net# cd ~/stuff/rsync_rsync-2.6.9

root@capim-laptop:/home/capim/stuff/rsync_net/rsync-2.6.9# touch arquivo_novo.list

root@capim-laptop:/home/capim/stuff/rsync_net/rsync-2.6.9# ls > arquivo_novo.list

root@capim-laptop:/home/capim/stuff/rsync_net/rsync-2.6.9# nano rsync.c

root@capim-laptop:/home/capim/stuff/rsync_net/rsync-2.6.9# rm INSTALL

Criei o arquivo_novo.list, modifiquei o rsync.c e removi o INSTALL.


Para transferir somente as alterações para o servidor, devemos utilizar o argumento –update
de acordo com o exemplo a seguir:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync --recursive


--stats --progress --update . localhost::rsync_source
Ola!

building file list ...


227 files to consider
arquivo_novo.list
860 100% 0.00kB/s 0:00:00 (xfer#1, to-check=216/227)
rsync.c
8979 100% 8.56MB/s 0:00:00 (xfer#2, to-check=173/227)

Number of files: 227


Number of files transferred: 2
Total file size: 3129656 bytes
Total transferred file size: 9839 bytes
Literal data: 1604 bytes
Matched data: 8235 bytes
File list size: 4571
File list generation time: 0.002 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 6327
Total bytes received: 138

sent 6327 bytes received 138 bytes 12930.00 bytes/sec


total size is 3129656 speedup is 484.09
root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9#

34
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Pronto! Está confirmado que o rsync transfere apenas as alterações! Porém, repare que o
arquivo INSTALL não foi apagado no servidor por uma questão de segurança. Para atualizar no
servidor também os arquivos apagados localmente, devemos utilizar o argumento –delete. Veja
o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync --recursive


--stats --progress --update --delete . localhost::rsync_source
Ola!

building file list ...


227 files to consider
deleting INSTALL

Number of files: 227


Number of files transferred: 0
Total file size: 3129656 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 4571
File list generation time: 0.002 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 4587
Total bytes received: 16

sent 4587 bytes received 16 bytes 9206.00 bytes/sec


total size is 3129656 speedup is 679.92

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9#

Tome bastante cuidado com a opção –delete, já que com ela você poderá remover um arquivo
importante do servidor!

35
Capítulo 5

Lição 4 - Comandos extras

5.1 Um pouco mais sobre rsync


5.1.1 Um pouco mais sobre rsync
Nas lições passadas aprendemos o uso básico do programa. Agora aprenderemos alguns
comandos que tornarão o uso do rsync ainda mais eficiente.

O argumento –verbose (ou -v)

Utilize esse argumento apenas para que algumas informações a mais sejam impressas. Para
utilizá-lo basta adicionar –verbose depois do comando rsync. Veja o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync -r
--verbose --stats . localhost::rsync_source

O argumento –exclude

É possível configurar o rsync para não sincronizar determinados arquivos, para isso utilizamos
o argumento –exclude="arquivos que serão excluídos". Veja o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync -rv


--exclude="*.c" . localhost::rsync_source

No exemplo, todos os arquivos foram enviados exceto os que terminavam com .c.

5.2 Últimos comandos


5.2.1 Últimos comandos
O argumento –links (ou -l) e –copy-links (ou -L)

Normalmente quando existe um link simbólico o rsync ignora-o na cópia dos arquivos. Veja o
exemplo:

36
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync -rv --stats .


localhost::rsync_source
skipping non-regular file "rsyncd.conf"

Para que o rsync não ignore um link simbólico, basta adicionar a opção –links como argu-
mento. Veja o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync -rv


--stats --links . localhost::rsync_source
rsyncd.conf -> /etc/rsyncd.conf

E para que o rsync copie o arquivo ao qual o link simbólico se refere, utilize a opção –copy-links
como argumento. Veja o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync -rv


--stats --copy-links . localhost::rsync_source
rsyncd.conf

Obs.: repare que a opção menor para –links é com um L minúsculo, já a –copy-links com um
L maiúsculo. Lembre-se as letras maiúsculas são diferenciadas das minúsculas.

O argumento –compress (ou -z)

Para melhorar, ainda mais, o desempenho de transferências remotas, podemos utilizar o ar-
gumento –compress que compacta os arquivos antes de enviá-los. Veja o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync -rv


--stats --copy-links --compress . 192.168.0.101::home

Obs.: No exemplo acima utilizei o servidor de uma máquina da rede por isso localhost foi
substituído por 192.168.0.101.

O argumento –perms (ou -p)

Em muitos casos é interessante que as permissões do arquivo permaneçam as mesmas tanto


no servidor quanto no cliente, para isso utilizamos o argumento –perms. Veja o exemplo:

root@capim-laptop:/home/capim/stuff/rsync_files/rsync-2.6.9# rsync -rv


--stats --perms . localhost::rsync_source

O argumento –help (ou -h)

Vários argumentos e opções foram tratados nessa seção, porém o rsync ainda possui várias
outras opções, para obter uma ajuda resumida sobre os comandos do rsync utilize o argumento
–help (i.e. rsync –help). Para obter uma ajuda mais explicativa utilize o comando do linux man
(i.e. man rsync).
E já que estamos falando de ajuda, lembre-se sempre de utilizar o Google para buscar so-
luções na internet. Por ser um software livre o rsync possui uma comunidade de usuários e
desenvolvedores bem ampla que compartilham informações e dúvidas pela internet. Mas se pre-
ferir, utilize o fórum do Moodle para esclarecer sua dúvida com o monitor do curso, ou com outros
participantes.

37
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.3 Links importantes


5.3.1 Links importantes
Caso queira aprofundar seu conhecimento em rsync, sugiro os seguintes links:
Página oficial da documentação do rsync: http://samba.anu.edu.au/rsync/documentation.html
Artigo do br-linux: http://br-linux.org/tutoriais/002249.html Artigo do [dicas-L]: http://www.dicas-
l.com.br/dicas-l/20041227.php Google: http://www.google.com.br
O que mais conta é seu interesse! Rsync é uma ferramenta muito útil e interessante e ainda
por cima é livre!
Espero que tenha aproveitado o curso! Qualquer dúvida, sugestão ou correção entre em
contato!

38

Você também pode gostar