Terminal Tuts

20 principais exemplos de Rsync no Linux

20 principais exemplos de Rsync no Linux

O comando Rsync (sincronização remota) é um utilitário Linux / Unix usado para sincronizar e copiar arquivos e diretórios local ou remotamente. A maioria dos geeks do Linux usa Rsync para espelhar, fazer backup ou migrar dados entre pastas, discos e redes. Um recurso notável com o comando Rsync é que ele usa o “algoritmo de transferência delta.”

O algoritmo de transferência delta funciona atualizando o diretório de destino com o conteúdo do destino de origem. Se uma alteração ou um novo arquivo for criado no diretório de origem, apenas a alteração específica será copiada para o diretório de destino quando você executar o comando Rsync. Para sincronizar arquivos e diretórios entre a máquina local e remota, o Rsync usa SSH.

Instalando Rsync no Linux

O comando Rsync vem pré-instalado na maioria dos sistemas operacionais Linux. No entanto, pode não ser o caso para algumas instalações mínimas. Você pode instalar o Rsync executando os comandos abaixo em um terminal.

No CentOS e RHEL

yum install rsync -y

No Ubuntu e outras distribuições Debian

sudo apt install rsync -y

Sintaxe Rsync Basic

destino de origem de opções de rsync

Algumas das opções / parâmetros padrão usados ​​com o comando Rsync:

-v: -verbose Saída detalhada
-r: copia dados recursivamente
-z: compactar dados do arquivo
-h: Fornece a saída em um formato legível por humanos
-a: arquivar arquivos e diretório durante a sincronização
-progresso Mostra o progresso das tarefas Rsync atualmente em execução.

Você pode ver todas as opções disponíveis para o comando Rsync usando a opção “-help”.

$ rsync --help

Comando de ajuda Rsync

20 principais exemplos de Rsync no Linux

Com essas informações detalhadas em mente, vamos começar com 20 exemplos úteis de comandos Rsync que você pode usar com sistemas Linux. Nosso sistema operacional de escolha é o Ubuntu 20.04 LTS; no entanto, a sintaxe também deve funcionar para outras distribuições Linux com Rsync instalado.

1. Copiar / sincronizar arquivos localmente com a opção -v (detalhado)

Esse é o comando Rsync mais básico, mesmo para um novato. Neste exemplo, iremos copiar arquivos entre o 'Original'diretório na área de trabalho para o'Cópia de segurança'no diretório' / etc.' pasta. Incluiremos a opção -v (Detalhado) para que o rsync possa fornecer informações sobre o que está acontecendo.

rsync -v Original /

Comando rsync -v (verbose)

Uma coisa a observar com o Rsync é que, se o diretório de destino não existir, ele o criará automaticamente. Vejamos o exemplo abaixo onde queremos copiar os arquivos para o diretório “Foss”Que não existe.

Crie um diretório com Rsync

2. Sincronizar / copiar arquivos e diretórios recursivamente com a opção -r

No comando acima, se houver um diretório presente no 'Original'pasta, seria ignorado. Isso é ilustrado na imagem abaixo.

Comando Rsync básico

Para superar isso, use a opção -r (recursiva).

Sincronizar arquivos recursivamente com -r

3. Sincronizar / copiar arquivos entre a máquina local e a máquina remota

Antes de realizar esta tarefa, existem vários parâmetros que você precisa saber sobre o servidor / máquina remoto: o endereço IP, o nome de usuário e a senha do usuário.

A sintaxe básica que usaremos é:

rsync [opções] [arquivos] [nome de usuário remoto] @ [endereço IP]: / [destino]

Vamos copiar os arquivos do nosso 'Original'diretório na área de trabalho para um servidor remoto.

Sincronizar / copiar arquivos remotamente com Rsync

4. Sincronizar / copiar arquivos e diretórios de um servidor remoto para o seu PC local

Assim como o comando anterior, precisaremos saber o endereço IP do servidor remoto. Neste exemplo, vamos sincronizar arquivos no 'Cópia de segurança'pasta no diretório inicial do servidor para o nosso PC local.

rsync -rv tuts @ 192.168.1.64: / home / tuts / Backup / home / tuts / Desktop / Original

Sincronizar-Copiar arquivo de um servidor remoto para uma máquina local

5. Use Rsync sobre SSH com a opção -e

Para garantir a segurança de arquivos e pastas, usaremos o Rsync sobre Secure Shell Protocol (SSH). Além disso, ao fornecer a senha de root / usuário - o SSH fornecerá serviços de criptografia, garantindo que sejam seguros.

Para usar SSH, vamos adicionar a opção -e que especifica o protocolo que queremos usar.

 rsync -vre ssh Original / * tuts @ 192.168.1.64: / home / tuts

Use Rsync sobre SSH

6. Mostra o progresso com o comando Rsync

Em situações em que você copia vários arquivos ou um arquivo grande, saber o progresso seria eficiente. Felizmente, o rsync oferece esta opção - o '-progresso'opção.

sudo rsync -rv --progress Original / * / etc / Foss

Mostrar progresso com Rsync

7. Use Rsync com a opção '-include'

Existem situações em que você deseja apenas sincronizar arquivos específicos. Com o comando Rsync, você faz com que o '-incluir'opção de realizar a tarefa. Neste exemplo, só sincronizaremos arquivos começando com a letra 'I'.

sudo rsync -vr --incluir 'I *' Original / / etc / Backup /

Use a opção -include com Rsync

8. Use Rsync com a opção '-exclude' para ignorar arquivos específicos

Com o Rsync '-excluir', você pode excluir arquivos que não deseja sincronizar / copiar. Neste exemplo, queremos ignorar todos os arquivos que começam com a letra 'I'.

sudo rsync -vr --exclude 'I *' Original / / etc / Backup /

Use Rsync com a opção '-exclude'

Alternativamente, você pode usar ambas as opções em um comando. Veja o exemplo abaixo.

sudo rsync -vr --exclude '*' --include 'I *' Original / / etc / Backup /

Estamos excluindo todos os arquivos, exceto aqueles que começam com a letra 'I.'

Use as opções -include e -exclude

9. Use Rsync com o comando -delete

Existem situações em que existem arquivos presentes no diretório de destino, mas não na pasta de origem. Para a sincronização, seria melhor primeiro remover esses arquivos do diretório de destino. Felizmente, o Rsync vem com o '-excluir', que faz isso automaticamente.

Se um arquivo estiver presente no diretório de destino, mas não na fonte, ele o excluirá.

rsync -vr --delete / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup

Use Rsync com a opção-delete

10. Defina o tamanho máximo dos arquivos para transferir com Rsync

Se você está preocupado com o espaço de armazenamento ou largura de banda para sincronização remota de arquivos, você precisa usar a opção '-max-size' com o comando Rsync. Esta opção permite que você defina o tamanho máximo de um arquivo que pode ser copiado.

Por exemplo, um '-tamanho máximo = 100k'irá apenas transferir dados iguais ou menores que 100 kilobytes.

rsync -vr --max-size = '200k' / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup

Defina o tamanho máximo com o comando Rsync

11. Exclua os arquivos de origem automaticamente após uma transferência bem-sucedida

Imagine uma situação em que você tenha um servidor de backup remoto e um diretório de backup em seu PC. Você faz backup dos dados para a pasta de backup no seu PC antes de sincronizá-lo com o servidor de backup. Após cada sincronização, você precisará excluir os dados do diretório de backup.

Felizmente, você pode fazer isso automaticamente com o '--remove-source-files'opção.

Exclua os arquivos de origem após uma transferência bem-sucedida

Ao executar um comando 'ls' na pasta de origem, confirmamos que de fato os arquivos foram excluídos.

12. Faça uma simulação com Rsync

Para iniciantes que não têm certeza sobre o comando Rsync, você pode bagunçar o conteúdo do diretório de destino e desfazer pode ser tedioso. Com o '-funcionamento a seco', o comando Rsync irá fornecer-lhe uma saída do que será executado, mas não o fará.

Portanto, você pode olhar para esta saída se for o que você esperava antes de remover o '-funcionamento a seco'opção.

rsync -vr --dry-run Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Execute uma operação a seco com Rsync

13. Definir limite de largura de banda necessário para transferir arquivos.

Se você estiver em uma rede compartilhada ou executando vários programas que precisam de uma conexão com a Internet, seria eficiente definir um limite de largura de banda necessário para sincronizar / copiar arquivos remotamente. Podemos fazer isso com o Rsync '-bwlimit'opção.

Esta taxa é calculada em kilobytes. Portanto, quando '-bwlimit = 1000'significa que apenas 1000 KB podem ser transferidos por segundo.

rsync -vr --bwlimit = 1000 Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Definir o limite de largura de banda necessário para transferir arquivos

14. Sincronize todos os arquivos com Rsync

Por padrão, o Rsync sincroniza apenas os blocos e bytes modificados. Portanto, se você sincronizou um arquivo de texto antes e depois adicionou alguns textos ao arquivo de origem ao sincronizar, apenas o texto inserido será copiado. Se quiser sincronizar o arquivo inteiro novamente, você precisará usar a opção '-W'.

rsync -vrW Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Sincronizar um arquivo inteiro com Rsync

15. Não sincronize / copie arquivos modificados no diretório de destino

Existem situações em que você fez modificações em arquivos presentes na pasta de destino. Se você executar um comando Rsync, essas modificações serão substituídas por aquelas no arquivo de origem. Para evitar isso, use a opção '-u'.

rsync -vu Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Use a opção 'u' para evitar a modificação de arquivos na pasta de destino

16. Use o Rsync com a opção -i para ver a diferença nos arquivos entre a origem e o destino

Se você deseja saber quais novas mudanças serão feitas no diretório de destino, use a opção '-i', que mostrará a diferença de arquivos entre o diretório de origem e destino.

rsync -avzi Original / Backup /

Use a opção -i para ver a diferença nos arquivos

Forma a saída na imagem acima, e vemos um arquivo chamado 'heloo.py ' não presente no diretório de destino. Vejamos alguns desses parâmetros.

d: mostra uma mudança no arquivo de destino
f: representa um arquivo
t: mostra uma mudança nos carimbos de data / hora
s: indica uma mudança no tamanho de um arquivo

17. Use Rsync para copiar a estrutura do diretório apenas

Você pode usar o Rsync para sincronizar apenas a estrutura do diretório se não estiver interessado nos arquivos. Precisaremos usar os parâmetros -f ”+ * /” -f ”- *” antes do diretório de origem.

rsync -av -f "+ * /" -f "- *" / home / tuts / Desktop / Original / / home / tuts / Documents /

Use Rsync para copiar uma estrutura de diretório

18. Adicionar carimbo de data ao nome do diretório

Se você deseja rastrear quando as transferências ocorreram sem abrir as propriedades do diretório, você pode facilmente adicionar uma data a um nome de diretório. Isso adicionará um carimbo de data a todas as sincronizações que você fizer com o Rsync.

Para fazer isso, vamos anexar $ (data + \\% Y - \\% m - \\% d) para o diretório de destino.

sudo rsync -rv Original / / etc / $ (data + \\% Y - \\% m - \\% d)

Adicionar um carimbo de data a um diretório

19. Copie um único arquivo localmente

Para sincronizar / copiar um único arquivo com Rsync, você precisará especificar o caminho do arquivo seguido pelo caminho do diretório de destino.

rsync -v Original / heloo.py Backup /

Sincronize um único arquivo localmente

20. Copiar vários arquivos remotamente

Para copiar vários arquivos simultaneamente, você precisará fornecer o caminho para todos eles. Este método é eficiente para apenas um pequeno número de arquivos.

rsync -vr / home / tuts / Desktop / Original / heloo.py / home / tuts / Desktop / Backup / index.html tuts @ 192.168.1.64: / home / tuts / Backup

Copie vários arquivos simultaneamente

Isso é tudo sobre os 20 principais exemplos úteis de Rsync que permitirão que você sincronize arquivos e diretórios local e remotamente. Sinta-se à vontade para deixar seus comentários e comentários abaixo.

O cursor pula ou se move aleatoriamente enquanto digita no Windows 10
Se você descobrir que o cursor do mouse pula ou se move por conta própria, de forma automática e aleatória ao digitar em um laptop ou computador com W...
Como reverter a direção de rolagem do Mouse e Touchpads no Windows 10
Mouse e Touchpads não apenas torna a computação mais fácil, mas mais eficiente e menos demorada. Não podemos imaginar uma vida sem esses dispositivos,...
Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...