Como copiar dados de um servidor dedicado para outro utilizando rsync

Linux

Introdução

Copie facilmente os dados de um servidor dedicado para outro graças ao rsync.

No caso de uma migração ou de um backup, é possível que tenha de copiar ou transferir os dados de um servidor dedicado para outro.

Distribuído com uma licença GNU GPL, rsync (“remote synchronization”) é um software open source de sincronização de pastas e arquivos capaz de efetuar uma sincronização unidirecional, ou seja, copiar as pastas e arquivos de um servidor de origem para um servidor de destino.

Requisitos

O que precisa de saber

Ter conhecimentos de gestão em Linux.
Saber instalar novos pacotes
Saber ligar-se através de SSH

O que precisa de ter

Dispor de pelo menos dois servidores dedicados Line Host® Cloud que funcionam com uma distribuição GNU/Linux.
Dispor de um acesso root na máquina de origem.
Dispor de um acesso SSH na máquina de destino.

Instruções

1 – Instalar o rsync

O servidor de origem utilizado no âmbito deste tutorial funciona com Debian 9.4. Uma vez que esta distribuição dispõe de forma nativa do rsync nos repositórios, não é necessário completá-los, e o rsync pode ser instalado diretamente.

Para isso, ligue-se através de SSH enquanto super utilizador (ou root) na sua máquina de origem, e instale o rsync através do seguinte comando:

apt-get update && apt-get install rsync


2 – Inicie a transferência

Sem excluir nenhuma pasta da cópia

Rsync permite copiar todas as pastas, subpastas e arquivos incluídos no caminho indicado para outra máquina.

Para isso, a estrutura geral do comando utilizado neste tutorial será deste tipo: rsync -av source/ destination/

Embora o rsync utilize o protocolo SSH para se ligar à máquina de destino, é necessário adicionar as informações necessárias. A estrutura do comando deve ser completado da seguinte forma: rsync -av *YourLocalFolder*/ login@server:/*DestinationFolder*/

Por outro lado, se alterou a porta SSH para outra sem ser a porta 22, será necessário especificar o número da porta a utilizar para estabelecer a ligação SSH adicionando -e 'ssh -p X' ao seu comando, onde o “X” será a porta SSH que deve ser utilizada.

O comando que deve utilizar para copiar os seus dados de um servidor para outro através de rsync será o seguinte:

rsync -av -e 'ssh -p X' SuaPastaLocal/ login@server:/SuaPastaDeDestino/

Por predefinição, nenhum indicador permitirá controlar precisamente o progresso da cópia. Para poder seguir facilmente (estatísticas detalhadas, expressão em MB, GB, etc…) e em tempo real o progresso da transferência, aconselhamos que adicione o argumento -P --stats --human-readable ao comando, que ficará então como segue:

sh rsync -av -P --stats --human-readable -e 'ssh -p X' SuaPastaLocal/ login@server:/SuaPastaDeDestino/

Excluir uma ou várias pastas da cópia

Se o rsync permitir transferir todas as pastas de uma máquina, poderá querer excluir determinadas pastas ou subpastas da cópia que está prestes a realizar. Nesse caso, deverá indicar o seu nome.

De forma geral, recomenda-se que exclua da transferência a cache e os ficheiros de sistema temporários do servidor de origem, de forma a evitar qualquer conflito no servidor de destino.

Aqui tem uma lista não exaustiva de algumas das pastas que podem conter este tipo de ficheiros num servidor baseado numa distribuição GNU/Linux:

/dev/*
/proc/*
/sys/*
/tmp/*
/run/*
/media/*
/lost+found

Depois de determinar a lista de pastas ou subpastas a serem excluídas, o argumento --exclude permite indicar ao rsync que deve ignorar estas pastas ao realizar a cópia.

Este argumento deve ser colocado no final do comando, repetindo-o tantas vezes quanto o número de pastas ou subpastas. A estrutura geral deste comando será rsync –exclude=”Nome_pasta” –exclude=”Nome_da_outra_pasta source/ destino/

Tenha em conta que é necessário indicar o local relativo à pasta, já que o rsync não admite caminhos absolutos. Assim, se uma das pastas que pretende excluir estiver localizada em “/home/user/test” e que está situado em “/test”, deverá indicar “-exclude=”test”” (caminho relativo) e não “–exclude=”/home/user/test”” (caminho absoluto).

Tendo em conta os elementos indicados previamente, o comando de transferência será o seguinte:

rsync -av -P --stats --human-readable -e 'ssh -p X' --exclude="Nome_pasta" --exclude="Nome_da_outra_pasta" SuaPastaLocal/ login@server:/SuaPastaDeDestino/

Conclusão

Neste tutorial, explicámos como copiar os dados de um servidor dedicado para outro graças ao rsync.

Gostou do nosso conteúdo? Compartilhe!!

Você sabia? se quiser compartilhar uma parte do conteúdo é só selecionar o trecho de seu interesse que aparecerá um tooltip com as opções de compartilhamento…

Artigos Relacionados

Ferramenta Traceroute

Linux
Traceroute é uma ferramenta que permite descobrir o caminho feito pelos pacotes desde a sua origem até o seu destino. Ele é usado para testes, medidas e gerenciamento da rede. O traceroute pode ser utilizado para detectar falhas como, por exemplo, gateways intermediários que descartam pacotes ou rotas que excedem…
continue lendotrending_flat

Como instalar o Python no AlmaLinux 8

Linux
Python é uma linguagem de programação que foi criada com um objetivo em mente: facilitar para qualquer pessoa, não importa seu nível de habilidade ou experiência no que diz respeito à ciência da computação. Desenvolvido há mais de 30 anos por Guido van Rossum e ainda evoluindo hoje sob um…
continue lendotrending_flat

Baixando arquivos com wget

Linux
O comando wget é um downloader de arquivos da Internet que pode baixar qualquer coisa de arquivos e páginas da Web até sites inteiros. Uso básico O comando wget está no formato de: wget [opções] url Por exemplo, em sua forma mais básica, você escreveria um comando mais ou menos…
continue lendotrending_flat

Referências de Comandos LiteSpeed Web ADC

Linux
Esta referência lista todos os comandos do LiteSpeed ​​Web ADC (ADC). Nota: O LiteSpeed ​​Web ADC era conhecido anteriormente como LiteSpeed ​​Load Balancer, daí as referências lslb em toda parte. No cPanel pode-se encontrar não o lslb, mas sim o lsws, sempre que colocarmos o lslb e você não conseguir…
continue lendotrending_flat

Scripts úteis para o cPanel

cPanelLinux
Este artigo cobre alguns scripts úteis integrados ao cPanel! Atualização cPanel /scripts/upcp Este script verificará se há discrepâncias entre a instalação atual do cPanel e a atualização mais recente. Depois de executar o script, isso deve corrigir quaisquer problemas com arquivos de instalação cPanel corrompidos ou ausentes e pode resolver…
continue lendotrending_flat

Como desinstalar o JetBackup

cPanelLinux
Desinstalar Esta seção o orienta nas etapas para desinstalar o JetBackup for cPanel , o JetApps Repository e o Plugin Manager do cPanel & WHM. Desinstale o JetBackup para cPanel Para desinstalar o JetBackup for cPanel , você pode realizar uma (¹) das duas (²) OPÇÕES abaixo: Opção 1 (linha…
continue lendotrending_flat
Menu