Backup com Rsync


RSYNC
O comando rsync é um utilitário para sincronização de arquivos e diretórios entre duas localidades diferentes, locais ou remotos. Possibilitando a copia apenas dos arquivos que foram alterados desde a última sincronia.

Na primeira cópia o Rsync copia todos os arquivos entre origem e destino, após a primeira transferência ele faz a comparação entre eles e decide o que deve ser copiado.
Antes de transferir os dados, faz uma comparação do arquivo na origem e no destino. Os arquivos são quebrados em segmentos e os seus checksums são comparados. Os pedaços cujos checksums forem diferentes são transmitidos. A maioria dos repositórios de pacotes para Linux utilizan o rsync como método de atualização com os servidores oficiais da distribuição.
A syntaxe do comando é:
rsync <opções> <origem> <destino>
Exemplos de uso do comando rsync:
debian:~# rsync -avz /mnt/servidor /backups
Onde é feita a cópia recursiva do diretório /mnt/servidor, preservando os links, proprietários para o diretório /backups. Algumas opções do comando rsync:

Fazendo a copia entre máquinas remotas, copiando o /home da máquina 172.16.1.200 para o /backup da máquina local:
debian:~# rsync -avz –progress –partial -e ssh
[email protected]:/home /backups

Com a opção -e o rsync utiliza como shell remoto o SSH, fazendo com que toda a
transferência seja criptografada, garantindo maior segurança para o transporte dos
dados.
Se quisermos que a transferência entre os hosts ocorra pelo SSH mas sem o uso de senhas, podemos estabelecer uma relação de confiança entre as máquinas utilizando chaves assimétricas.
Se você criar um script de backup com Rsync e SSH que seja executado com direito de root na máquina local faça o seguinte logado como root:
debian:~# ssh-keygen 
Pode pressionar enter para tudo, isso coloca o nome padrão id_rsa nas chaves e dispensa o uso de senhas.
Para copiar a chave para a máquina remota faremos o seguinte:
debian:~# ssh-copy-id [email protected]
Forneça a senha e isso fará com que as conexões feitas da máquina local, usando a conta de root para a máquina remota com a conta de user a autenticação será feita pelo uso das chaves e não pela senha, portanto seus scripts de backup poderão ser agendados e serem transferidos de forma segura sem que precise de alguém fornecer senha pra isso.
Espero que sua desculpa pra não fazer backup às vezes não seja mais usada depois desse comando ;-). Lembrando que tem Rsync para Windows.
Continuem acessando nosso Portal, continuem comentando e nos ajudando a fazer um melhor CooperaTI pra vocês.

Share

    Comments

    1. Boa noite Vagner !
      sempre acompanho os posts do Cooperati e são sempre dicas muito úteis para nosso dia a dia em TI. Aproveitando a oportunidade, gostaria de pedir que se for possivel, que vocês escrevessem um post sobre backup com ISCSI integrando Linux e Windows.

    2. Muito bom, como as suas aulas! Parabéns!

    3. Só para reforçar esse artigo, no meu caso eu estava essa semana precisando utilizar o rsync no Windows para fazer uma backup secundário do banco de dados da empresa no dropbox, porem queria fazer um backup com rsync ao invés de um total toda a noite.
      Depois de tanto procurar achei um cliente rsync para windows, o cwRsync.
      Sua utilização é a mesma do rsync par Linux, mudando apenas que você tem que colocar o caminho inteiro para a aplicação e que ele reconhece o C:\ como /.
      Espero que isso ajude mais alguem que esteja atrás dessa solução.
      Abraço.

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.