Ícone do site CooperaTI

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 user@172.16.1.200:/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 user@172.16.1.200
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.


➤ Conheça nosso programa de assinatura: https://cursos.bernardes.com.br/bexpert-cooperati


 

Sair da versão mobile