Pesquisa de site

Como usar o Rsync para sincronizar arquivos novos ou alterados/modificados no Linux


Como administrador de sistema ou usuário avançado do Linux, você provavelmente já deve ter se deparado ou até mesmo usado em diversas ocasiões a versátil ferramenta Linux Rsync, que permite aos usuários copiar ou sincronizar arquivos de forma rápida, local e remotamente. É também uma ótima ferramenta popularmente usada para operações de backup e espelhamento.

Algumas de suas características e vantagens eminentes incluem; é excepcionalmente versátil porque pode copiar localmente, de/para um shell remoto ou rsync remoto, também é extremamente flexível, permitindo aos usuários especificar qualquer número de arquivos para copiar.

Leitura sugerida: 10 exemplos práticos de comando Rsync no Linux

Além disso, permite a cópia de links, dispositivos, proprietário de arquivo ou diretório, grupos e permissões. Ele também oferece suporte ao uso sem privilégios de root, juntamente com muitos mais.

Um diferencial imperativo do rsync em comparação com outros comandos de manipulação de arquivos no Linux é o uso do protocolo de atualização remota, para transferir apenas a diferença entre arquivos ou conteúdo de diretório.

Portanto, neste artigo, examinaremos como o rsync pode nos ajudar apenas a sincronizar arquivos novos ou alterados ou conteúdo de diretório ao fazer backups e muito mais no Linux.

Para começar, você precisa lembrar que a forma convencional e mais simples de usar o rsync é a seguinte:

rsync options source destination 

Dito isto, vamos mergulhar em alguns exemplos para descobrir como o conceito acima realmente funciona.

Sincronizando arquivos localmente usando Rsync

Usando o comando abaixo, posso copiar arquivos do meu diretório Documents para o diretório /tmp/documents localmente:

rsync -av Documents/* /tmp/documents

No comando acima, a opção:

  1. -a – significa modo de arquivo
  2. -v – significa detalhado, mostrando detalhes das operações em andamento

Por padrão, rsync apenas copia arquivos novos ou alterados de uma origem para o destino. Quando adiciono um novo arquivo em meu diretório Documentos, é isso que acontece após executar o mesmo comando uma segunda vez:

rsync -av Documents/* /tmp/documents

Como você pode observar e perceber na saída do comando, apenas o novo arquivo é copiado para o diretório de destino.

Leitura sugerida: Como sincronizar dois servidores Web/sites Apache usando Rsync

A opção --update ou -u permite que rsync pule arquivos que ainda são novos no diretório de destino, e uma opção importante, --dry-run ou -n nos permite executar uma operação de teste sem fazer nenhuma alteração. Ele nos mostra quais arquivos devem ser copiados.

rsync -aunv Documents/* /tmp/documents

Depois de executar um teste, podemos eliminar o -n e realizar uma operação real:

rsync -auv Documents/* /tmp/documents

Sincronizando arquivos do Linux local para o remoto

No exemplo abaixo, estou copiando arquivos da minha máquina local para um servidor remoto com o endereço IP – 10.42.1.5. Para sincronizar apenas arquivos novos na máquina local, que não existem na máquina remota, podemos incluir a opção --ignore-existente:

rsync -av --ignore-existing Documents/* [email :~/all/

Posteriormente, para sincronizar apenas os arquivos atualizados ou modificados na máquina remota que foram alterados na máquina local, podemos realizar uma simulação antes de copiar os arquivos conforme abaixo:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Para atualizar arquivos existentes e evitar a criação de novos arquivos no destino, utilizamos a opção --existente.

Você pode percorrer a página man rsync para descobrir opções adicionais úteis para uso avançado, como mencionei anteriormente, rsync é uma ferramenta Linux muito poderosa e versátil, e muitos sistemas Administradores e usuários avançados do Linux sabem como isso é vantajoso.

Mais importante ainda, você também pode compartilhar sua opinião sobre os exemplos que abordamos aqui ou, melhor ainda, oferecer-nos dicas valiosas sobre como usar esta ferramenta vital de linha de comando por meio da seção de comentários abaixo.