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

- 4173
- 1205
- Enrique Crist
Como administrador do sistema ou usuário do Linux Power, você provavelmente pode ter encontrado ou mesmo em várias ocasiões, usou a versátil ferramenta RSYNC Linux, que permite que os usuários copam ou sincronize arquivos local e remotamente. É também uma ótima ferramenta usada popularmente para operações de backup e espelhamento.
Algumas de suas características e vantagens eminentes incluem; É excepcionalmente versátil nisso, pode copiar localmente, para/para um shell remoto ou rsync remoto, também é notavelmente flexível, permitindo que os usuários especifiquem qualquer número de arquivos para copiar.
Leia sugerida: 10 exemplos práticos do comando rsync no Linux
Além disso, permite a cópia de links, dispositivos, proprietários de arquivos ou diretórios, grupos e permissões. Ele também suporta o uso sem privilégios de raiz, juntamente com muito mais.
Um diferencial imperativo do RSYNC em comparação com outros comandos de cooperação de arquivos no Linux é o uso do protocolo de atualização remota, para transferir apenas a diferença entre arquivos ou conteúdo do 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 enquanto faz backups e além 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.
Sincronizar arquivos localmente usando o rsync
Usando o comando abaixo, poder copiar arquivos do meu Documentos diretório para /TMP/documentos diretório localmente:
$ rsync -av documents/*/tmp/documentos
No comando acima, a opção:
-a
- significa modo de arquivo-v
- significa verbose, mostrando detalhes das operações em andamento

Por padrão, rsync Somente copia arquivos novos ou alterados de uma fonte para destino, quando adiciono um novo arquivo ao meu Documentos Diretório, é isso que acontece depois de executar o mesmo comando pela segunda vez:
$ rsync -av documents/*/tmp/documentos

Como você pode observar e observar a partir da saída do comando, apenas o novo arquivo é copiado para o diretório de destino.
Leia sugerida: Como sincronizar dois servidores/sites da Web Apache usando RSYNC
O --atualizar
ou -você
opção permite rsync Para pular arquivos que ainda são novos no diretório de destino e uma opção importante, --funcionamento a seco
ou -n
Permite -nos executar uma operação de teste sem fazer alterações. Isso nos mostra quais arquivos devem ser copiados.
$ rsync -aunv documents/*/tmp/documentos

Depois de executar um teste, podemos acabar com o -n
e realizar uma operação real:
$ rsync -auv documents/*/tmp/documentos

Sincronizar arquivos de linux local para 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 novos arquivos na máquina local, que não existem na máquina remota, podemos incluir o --ignorar-se existente
opção:
$ rsync -AV -Documentos existentes/* [email protegido]: ~/all/

Posteriormente, para sincronizar apenas arquivos atualizados ou modificados na máquina remota que mudaram na máquina local, podemos executar uma execução a seco antes de copiar arquivos como abaixo:
$ rsync -av - -dry -run -update documents/* [email protegido]: ~/all/$ rsync -av -update documents/* [email protegido]: ~/all/

Para atualizar arquivos existentes e impedir a criação de novos arquivos no destino, utilizamos o --existir
opção.
Você pode correr através do Man Rsync
página para descobrir opções adicionalmente úteis para uso avançado, como eu mencionei anteriormente, rsync é uma ferramenta Linux muito poderosa e versátil, e muitos usuários de administrador e energia do Linux sabem o quão vantajoso é.
Mais importante ainda, você também pode compartilhar sua visão sobre os exemplos que abordamos aqui ou ainda melhor ainda, ofereça -nos dicas valiosas sobre o uso dessa ferramenta vital de linha de comando através da seção de comentários abaixo.
- « Como instalar o TightVNC para acessar desktops remotos no Linux
- Como instalar o ModSecurity para Nginx no Debian/Ubuntu »