Seja um administrador ou um usuário comum, você provavelmente precisará criar backups regulares de seus arquivos ou sincronizá-los entre vários sistemas. Se esta tarefa exigir a substituição de todos os arquivos todas as vezes, será demorada e cansativa para você; É aqui que a ferramenta Linux Rsync para servidor remoto vem em seu socorro. Este guia irá familiarizá-lo com os comandos Rsync mais úteis, permitindo que você use seus recursos rápidos e seguros.
O que é o utilitário Rsync?
Sincronização remota (Rsync) é um comando Linux/Unix bem conhecido que você pode usar para copiar e sincronizar arquivos e diretórios por meio de acesso remoto ou localmente. Usar o comando Rsync permite executar várias tarefas relacionadas a dados, como sincronização, cópia e obtenção de backups. Além disso, você pode espelhar seu sistema Linux para outro.
A ideia principal por trás do uso do Rsync para servidor remoto é aproveitar sua rápida transferência de arquivos; para transformar dados entre duas fontes, considera apenas as diferenças entre elas. Em outras palavras, usar o comando Rsync ajudará você a evitar perda de tempo com transferência cega de dados, pois apenas considera as diferenças entre os dois sistemas Linux.
Por que usar o Rsync?
Como você já deve saber, várias ferramentas de backup estão disponíveis para uso. A questão é: o que torna a ferramenta Rsync única quando comparada a outros utilitários ou comandos?
Por exemplo, você pode usar Protocolo de transferência de arquivos (FTP) para ter uma cópia local do seu site ou SCP (protocolo de cópia segura) para esta tarefa. No entanto, esses dois apresentam desvantagens. O FTP não inclui criptografia de dados, o que não é o que esperamos, e mesmo que o SCP não tenha um problema de transferência não criptografada como o FTP, ainda leva mais tempo para a transferência, pois cria um túnel para fazê-lo.
Portanto, como uma solução alternativa para esses problemas, podemos usar o Rsync para servidor remoto com criptografia baseada em chave (simplesmente chamada de Rsync SSH ou Rsync sobre SSH), que evita o envio de dados duplicados e utiliza uma chave SSH. Você também deve observar que o Rsync emprega compactação e descompactação para receber e enviar dados, levando a menos uso de largura de banda.
Como instalar o Rsync?
Você provavelmente já tem o Rsync instalado em seu sistema; no entanto, vamos entrar em detalhes. Antes de fazer isso, preste atenção que o SSH já deve estar instalado nos sistemas de origem e de destino, pois queremos usar o Rsync sobre SSH.
Etapa 1: verificar a versão SSH
Você pode verificar a versão do SSH usando o seguinte comando:
ssh -V
Para sincronizar novamente com um servidor remoto, você precisará ter um servidor local, também conhecido como origem, e o servidor remoto. Você também deve garantir que o servidor local tenha privilégios administrativos (sudo).
Etapa 2: Instalando o Rsync Linux
O comando a seguir permitirá que você instale o Rsync no Ubuntu, Linux Mint e Debian:
sudo apt install rsync -y
Se você estiver usando outras distribuições Linux, como Fedora, CentOS, AlmaLinux e Red Hat, digite o seguinte comando para instalar o Rsync no serviço de servidor remoto em seu sistema:
sudo dnf install rsync
Nota: apt é uma ferramenta útil de instalação de pacotes usada em distribuições baseadas em Debian.
Etapa 3: iniciando o Rsync
Agora você precisa iniciar e ativar o Rsync para começar a usá-lo por meio dos seguintes comandos:
sudo systemctl start rsync
sudo systemctl enable rsync
Etapa 4: verificando a instalação do Rsync
Digite o seguinte comando para garantir se você instalou o Rsync corretamente e para verificar qual versão está usando em seu sistema Linux:
rsync --version
Na seção a seguir, discutiremos como usar a capacidade desta ferramenta para fazer backups por meio de autenticação baseada em chave.
Como criar backups usando Rsync sobre SSH?
Fazer backups incrementais é um dos casos de uso do Rsync sobre SSH. Preste atenção ao seguinte comando para entender como funciona:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Executar o comando acima ajudará você a sincronizar fonteDir e destinoDir. Este comando inclui outras opções com as quais você deve estar familiarizado, como -a (arquivo) e -v (detalhado). Observe que -e ssh opção exige que a conexão Rsync seja através do protocolo SSH.
Se você quiser o Conexão SSH para ser aceito em uma porta diferente da padrão (porta 22), você precisa mencionar o número da porta após -e ssh. Observe o comando a seguir para entender como funciona.
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
No comando acima, presumimos que queremos usar 1998 como nossa porta SSH em vez de 22.
Rsync para servidor remoto via SSH tem outras opções que podem ser bastante úteis. Por exemplo, usando o -parcial A opção permite que você continue a transferência parcial anterior em caso de problemas como interrupção do Rsync. Você também pode saber o progresso atual da transferência de arquivos através do -progresso opção. Além disso, o utilitário Linux Rsync para servidor remoto permite que você use esses dois recursos simultaneamente. Para fazer isso, você pode usar o -p sinalizador na linha de comando.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Rsync para servidor remoto com comando chave permite compactar os dados antes de transferi-los para o destino. Mesmo que use sua CPU para completar a compactação, ainda é muito útil, pois torna a transferência de arquivos mais rápida e requer menos uso de largura de banda.
Você pode usar o comando Rsync para copiar arquivos e diretórios, remotos ou locais. A principal vantagem do Rsync é que ele é baseado no algoritmo de transferência delta, o que evita a cópia de dados duplicados da origem para o destino. Conforme mencionado anteriormente, este recurso do utilitário Rsync para servidor remoto ajuda você se você deseja lidar com backups diários e espelhamento do sistema. Com isso em mente, vamos usar o comando Rsync para casos de uso locais.
Como usar o Rsync para sincronização local?
Antes de mergulharmos na sincronização local e em como usar o comando Rsync para isso, você deve conhecer a estrutura geral do Rsync local, mostrada abaixo:
rsync [options] [Source] [Destination]
Copiando arquivos localmente
Suponha que queiramos sincronizar ou copiar um arquivo do diretório desktop (chamado Cloudzy) para /home/Público pasta; aqui está o que você precisa para entrar:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
O comando Rsync acima inclui três opções como -zvh; usando -z, você terá seu arquivo compactado durante a transferência. opção v significa saída detalhada, e o opção h é o que nos ajuda a ser capazes de ler os resultados como humanos, também conhecido como exibir resultados legíveis por humanos.
Copiando diretórios localmente
Se quisermos copiar o diretório desktop (chamado Cloudzy) para /home/Público pasta; você precisa digitar o comando abaixo:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
O -a A opção neste comando arquiva diretórios e arquivos durante a sincronização.
Você pode verificar rapidamente a lista de diretórios da pasta de destino para verificar se o diretório foi copiado ou não. Para fazer isso, use o seguinte comando:
ls -ld /home/Public
Sincronizando arquivos e diretórios recursivamente e localmente (Rsync recursivo)
E se houvesse vários diretórios e arquivos no /desktop/Cloudzy, e você queria copiá-los recursivamente por meio do comando Linux Rsync?
Neste caso, você usa o opção -r para sincronizar recursivamente seus arquivos e diretórios locais. Você também pode usar o opção de arquivo (-a) pois tem outros casos de uso, como cópia recursiva. Observe o comando a seguir para se familiarizar com os comandos recursivos do Rsync.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Copiando diretórios e arquivos do sistema local para o remoto
Além das características do Linux Rsync para servidor remoto, às quais nos referimos nas seções anteriores, este conhecido comando também permite sincronizar arquivos e diretórios da máquina local para o sistema remoto.
Suponha que queremos copiar uma pasta (/desktop/Cloudzy/novapasta) da máquina local para o sistema remoto (com 192.168.1.79) sob /mycpt; aqui está um exemplo mostrando como isso funciona:
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
Como copiar diretórios sem seus arquivos usando Rsync?
Em alguns casos, podemos querer usar o Linux Rsync para recursos de servidor remoto para copiar diretórios sem arquivos; essa sincronização pode ser da máquina remota para o sistema local ou vice-versa.
Neste artigo, usamos o sistema remoto em 192.168.1.79. Suponha que o tenhamos sob /mycpt pasta e deseja copiar o /desktop/Cloudzy diretório do sistema local sem incluir seus arquivos. Por favor, digite o comando abaixo para fazer isso:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Outros comandos Rsync úteis
Aqui discutiremos alguns comandos adicionais do Linux Rsync que podem ser práticos para você.
Determine o tamanho máximo para transferência de arquivos no Rsync
Você pode determinar um tamanho limite para transferência de arquivos usando o comando Rsync, que é útil quando você executa regularmente o Rsync em um servidor remoto e na máquina local onde a largura de banda e o tempo são fatores essenciais a serem considerados. Preste atenção ao seguinte comando para se familiarizar com a definição de limitações de tamanho na transferência de arquivos Rsync:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Determine o tamanho mínimo para transferência de arquivos no Rsync
Assim como definir um tamanho máximo para transferência de arquivos, você pode determinar o tamanho mínimo do arquivo que deseja transferir pelo Rsync para a ferramenta de servidor remoto. No comando abaixo, definiremos o tamanho mínimo do arquivo para 10k:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Remover arquivos da origem após a conclusão da sincronização
Depois de terminar de usar o comando Rsync, talvez você não precise mais ter o arquivo no sistema de origem. Neste caso, você pode usar o comando Linux Rsync como abaixo para remover os arquivos da fonte:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Sincronização de simulação
Se você é novo no utilitário Linux Rsync e não está familiarizado com suas opções, um ensaio é um caminho adequado a seguir. Quando você usa a simulação com Rsync, ele não altera os arquivos, mas mostra a saída do comando para você. Depois de certificar-se de que deseja executar o comando, você pode remover o –corrida a seco opção dele e execute-o no terminal. Observe o comando a seguir para saber mais sobre a funcionalidade de simulação.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Recapitulação: Utilizando Comandos Rsync do Linux
Este artigo explicou como usar os recursos do Linux Rsync para servidor remoto (e Rsync para servidor local) para vários casos de uso, incluindo espelhamento do sistema, criando um backup de arquivos e copiando arquivos e diretórios local e remotamente usando uma abordagem eficiente. Este conhecido comando do Linux permite que você se beneficie da transferência rápida de arquivos, ao mesmo tempo que permite usar SSH e compactação de dados.
Obtenha um VPS Linux econômico ou premium para hospedar seu site ou desktop remoto, pelo preço mais barato do mercado. VPS rodando em Linux KVM para maior eficiência e trabalhando em hardware poderoso com armazenamento SSD NVMe para maior velocidade.
Leia maisVocê pode aproveitar ao máximo este sistema operacional obtendo um VPS Linux solução da Cloudzy, permitindo que você se beneficie de planos de hospedagem baseados em KVM. Temos orgulho de oferecer serviços VPS de alto desempenho com 99,95% de tempo de atividade, estabilidade, latência mínima, data centers mundiais (12 locais), armazenamento SSD ultrarrápido e suporte técnico 24 horas por dia, 7 dias por semana. Você pode começar a usar seu VPS Linux por US$ 4,95 e escalá-lo se quiser uma solução mais avançada.
Perguntas frequentes
Qual porta TCP o Rsync usa?
O SSH normalmente usa a porta 22 como porta padrão. Portanto, ao utilizar o rsync sobre SSH, ele funcionará nesta porta específica. Por outro lado, ao utilizar o daemon Rsync, a porta 873 será utilizada.
O que é Rsync?
Rsync é um utilitário Linux que pode sincronizar arquivos e diretórios remota ou localmente. Usar o comando Rsync permite executar várias tarefas relacionadas a dados, como sincronização, cópia e obtenção de backups.