10 exemplos úteis do comando linux rsync

Oct 24, 2025
Linux

O Linux rsync O comando é uma ferramenta poderosa de cópia de copiar e pasta. Aqui estão dez casos de uso comuns que você poderá usar bem em seus próprios sistemas.

A ferramenta RSYNC

O rsync A ferramenta copia arquivos e diretórios entre dois computadores. Ele usa um algoritmo sofisticado Isso verifica as árvores do diretório para encontrar arquivos no computador de origem que não existem no computador de destino. Esses arquivos são transmitidos para o computador de destino. O que faz o rync Tão inteligente é que pode descobrir qual pedaços de existir Os arquivos foram modificados e apenas envia o porções alteradas .

Você pode usar rsync Para copiar arquivos para um local diferente no seu disco rígido, para um disco rígido diferente no mesmo computador, para um unidade USB conectada externamente , ou qualquer outro local acessível à rede.

Além disso, rsync Opcionalmente pode preservar links simbólicos, links rígidos e arquivos metadados como propriedade de arquivos, permissões e tempos de acesso. Para apoiar toda essa funcionalidade, rsync tem muitas opções e descobrir tudo isso leva tempo. Coletamos esses 10 exemplos para ajudá -lo a começar. Já escrevemos sobre como fazer backups com rsync , então estamos nos concentrando em outros usos aqui.

Para todas as suas muitas opções, a estrutura de um rsync O comando é simples. Precisamos fornecer a fonte, o destino e as opções que queremos usar. Você provavelmente encontrará isso rsync Já está instalado no seu computador Linux - estava, em todas as nossas máquinas de teste - mas, se não for, definitivamente estará nos repositórios da sua distribuição.

1. Copie arquivos para um diretório diferente

Aqui está um exemplo simples para nos levar. Vamos copiar os arquivos do diretório "arquivos de projeto" para o diretório "documentos". Estamos usando duas opções, o -a (arquivo) opção e a -v (verbose) opção. A opção verbose diz rsync para explicar o que está fazendo o que faz. O arquivo A opção preserva a propriedade de arquivos e alguns outros itens que examinaremos em breve.

Usando ls Na pasta "documentos" mostra que os arquivos foram copiados.

Enquanto rsync está funcionando, os arquivos são listados à medida que são copiados. Disseram -nos:

  • O número de bytes que são enviados.
  • O número de bytes recebidos. Antes da transferência de arquivos, ocorre, rsync tem que descobrir quais arquivos precisam ser transferidos. Para fazer isso, algumas informações sobre os arquivos no destino devem ser recuperadas por rsync . Esta informação está contida nos bytes recebidos.
  • A velocidade da transferência.
  • O tamanho total dos arquivos copiados.
  • A "aceleração". Essa é a proporção do tamanho total dividido pela soma dos bytes enviados e recebidos. Quanto maior esse número, mais eficiente a transferência.

Modificamos o arquivo de texto no diretório de origem e repetimos o rsync comando.

Desta vez, o único arquivo que precisa ser atualizado é o arquivo de texto que modificamos. A figura de aceleração agora é 30.850. É o quanto é mais eficiente copiar a parte modificada desse arquivo único do que copiar todos os arquivos.

O -a (Archive) A opção realmente representa uma coleção de outras opções. É o mesmo que usar todas essas opções:

  • r : Trabalhe recursivamente através de árvores de diretório no diretório de origem e copie -as para o diretório de destino, criando -as se ainda não existirem lá.
  • eu : Copie symblinks como symblinks.
  • p : Preservar as permissões de arquivos.
  • t : Preservar os tempos de modificação do arquivo.
  • g : Preserve as permissões do grupo.
  • o : Preserve a propriedade do arquivo.
  • D : Copie arquivos especiais e arquivos de dispositivo. Arquivos especiais podem ser itens centrados na comunicação que são tratados como arquivos, como soquetes e tubos de primeira entrada, primeiro a sair (FIFOS). Os arquivos de dispositivo são arquivos especiais que fornecem acesso a dispositivos e pseudo-dispositivos.

Esta é uma combinação tão frequentemente usada que rsync fornece o -a (Archive) Opção como uma maneira abreviada de invocar todos eles.

2. Copie um diretório para um diretório diferente

Se você olhar para o anterior rsync Comando, você verá um slash para a frente "/" no caminho do arquivo do diretório de origem. Isso é significativo. Diz rsync Para copiar o conteúdo do diretório. Se você não fornecer a barra para a frente, rsync vai copiar o diretório e seu conteúdo.

Desta vez, o nome do diretório é adicionado ao nome do arquivo conforme eles estão listados. Se olharmos para dentro do diretório de destino, veremos a pasta de origem foi copiada com os arquivos dentro dele.

3. Copie um diretório para uma unidade diferente

Copiar arquivos para outro local no mesmo disco rígido não oferece proteção contra um conduzir falha . Se essa unidade desistir do fantasma, você perdeu as cópias de origem e destino desses arquivos. Copiá -los para outro disco rígido é uma maneira muito mais robusta de proteger seus dados. Tudo o que precisamos fazer é fornecer o caminho correto para a unidade de destino.

Olhar para o outro disco rígido nos mostra o diretório e os arquivos foram copiados para ele.

4. Fazendo uma corrida a seco primeiro

Antes de vermos como rsync Pode excluir os arquivos para nós, vamos ver como podemos fazer rsync Realize uma corrida a seco.

Em uma corrida a seco, rsync passa pelos movimentos de executar as ações que pedimos, mas na verdade não as faz. Ele relata o que teria acontecido se o comando tivesse sido executado. Dessa forma, podemos garantir que o comando faça exatamente o que esperamos.

Para forçar uma corrida a seco, usamos o --funcionamento a seco opção.

Os arquivos que teriam sido copiados estão listados para nós e obtemos as estatísticas usuais, seguidas pela mensagem (FUNCIONAMENTO A SECO) para que sabemos que nada realmente ocorreu.

5. Excluindo arquivos no diretório de destino

O --excluir a opção informa rsync deletar arquivos e diretórios no destino diretório que não está no diretório de origem. Isso significa que o diretório de destino será uma cópia exata do diretório de origem. Seremos prudentes e usaremos o --funcionamento a seco opção primeiro.

Somos informados de que dois arquivos serão excluídos. Se tivermos certeza de que não nos importamos que eles sejam excluídos, podemos remover o --funcionamento a seco opção e realizar o comando de verdade.

Desta vez, o conteúdo dos diretórios é sincronizado e os dois arquivos extras são excluídos.

6. Excluindo os arquivos de origem

Você pode optar por excluir os arquivos de origem após um transferência bem -sucedida , fazendo rsync opere mais como um movimento do que uma cópia. Se a transferência não foi bem -sucedida, os arquivos de origem não serão excluídos. A opção que precisamos usar é --REMOVE-FULES SOURCO .

Observe que os arquivos podem ser excluídos, mesmo que nenhum arquivo seja transferido. Isso porque se rsync cheques, e todos os arquivos já estão no diretório de destino e não há nada para rsync pendência, rsync considera que uma transferência bem -sucedida.

Também, rsync apenas exclui o arquivos do diretório de origem. Ele não exclui o diretório de origem nem os subdiretos, apenas os arquivos neles. Podemos ver isso usando o -R opção (recursiva) com ls , no diretório de origem.

7. Copie arquivos para um computador remoto

Para sincronizar pastas com um computador remoto, rsync deve ser instalado nos dois computadores. Configure a comunicação SSH entre os dois computadores antes de tentar usar rsync para o computador remoto.

Você precisa fazer login remotamente como usuário regular no computador remoto para rsync trabalhar. Não importa se você usa um ID e senha para fazer login ou se você configurou as chaves SSH para Seguro sem senha acesso, mas se você não pode fazer login como usuário, então rsync também não funcionará.

Se você efetuar login com uma senha, rsync o levará a senha. Se você usa as teclas SSH para registrar, no processo é contínuo.

A única coisa extra que você precisa fazer é adicionar o nome da conta do usuário e o endereço IP do computador remoto ao início do caminho do arquivo de destino. Use um sinal em sinalização “ @ ”Para separar o nome de usuário do nome do computador ou endereço IP e um cólon“ : ”Para separar o nome do computador ou endereço de IP do caminho do diretório.

Recebemos as mesmas informações relatadas para nós que quando estamos copiando arquivos localmente.

8. Inclua ou exclua arquivos ou diretórios

Você pode ter arquivos e diretórios no diretório de origem que não deseja copiar para o computador de destino. Você pode exclui -los usando o --excluir opção. De maneira semelhante, você pode optar por incluir arquivos e diretórios específicos com o --incluir opção.

A peculiaridade é que, se você usar o --incluir Opção por si só, todos os arquivos são copiados, como normal - incluindo seus arquivos especificamente incluídos. Para copiar apenas os arquivos incluídos que você precisa --excluir todo o resto.

Você pode usar tantos --incluir e --excluir opções em seu comando como quiser, mas certifique -se de colocar seu --incluir opções antes do seu --excluir opções. Além disso, verifique se você tem uma barra para a frente no caminho do arquivo de origem.

Este comando copia apenas os arquivos de código -fonte C e Arquivos de dados CSV para o computador de destino.

Os únicos arquivos copiados são os que incluíram especificamente.

9. Compressa arquivos na transferência

O -z (compactar) a opção causa rsync Para comprimir os arquivos transferidos. No entanto, eles não são armazenados como arquivos compactados no computador de destino, eles são compactados apenas durante a própria transferência. Isso pode acelerar transferências longas.

10. Monitorando o progresso

Falando em longas transferências, podemos adicionar algumas estatísticas para que possamos ver o progresso da transferência.

O -P (Parcial, progresso) a opção realmente adiciona duas opções, --parcial e --progresso . O --parcial a opção informa rsync Para manter os arquivos parcialmente transferidos se uma transferência falhar. Isso economiza tempo quando a transferência é reiniciada.

O --progresso A opção imprime, para cada arquivo, os dados transferidos em bytes e, como porcentagem, a velocidade da transferência, o tempo gasto, o número do arquivo que está sendo transferido e a contagem dos arquivos restantes.

A saída rola passando rapidamente e é difícil de ler. Você pode melhorar as coisas levemente removendo o -v (verbose) opção do comando. Mesmo assim, ainda é difícil de ler, pois passa.

Muitas vezes, é mais útil monitorar o progresso da transferência geral. Você pode fazer isso com a opção –info e passá -la “Progress2” como um parâmetro.

Como CP em esteróides

O rsync O comando é rápido, flexível e vale a pena o tempo necessário para se familiarizar com ele. A forma básica de um rsync comando com o -av Não é difícil lembrar opções, diretório de origem e diretório de destino.

Para muitos casos de uso, é tudo o que você precisa. Fique confortável com isso e o resto virá facilmente.

  • Como as VPNs baratas podem custar mais do que você espera
  • Wyze está baixo, não é só você
  • Esqueça os desktops de jogos: os laptops para jogos são quase tão rápidos
  • Seu próximo dispositivo doméstico inteligente pode ter 5g
  • Pare de usar o teclado e o mouse que vieram com seu PC
  • Bose QuietComfort Earbuds 2 Revisão: Um passo à frente para o áudio de cancelamento de ruído

Linux - Artigos mais populares

Como usar a expansão de cinta na Shell Bash do Linux

Linux May 12, 2025

Fatmawati Achmad Zaenuri / Shutterstock A expansão da chave é uma técnica útil para gerar listas de strings que podem ser usadas em scripts e aliases e na ..


Como atualizar Arch Linux

Linux Jul 30, 2025

Projeto Ubuntu. Chegou a hora de atualizar seu sistema Arch Linux? Se você está em arco puro ou uma distro de arco como Manjaro. e Garuda Linux,..


Como atualizar o Ubuntu Linux

Linux Aug 27, 2025

Tomeqs / shutterstock.com. Precisa do mais recente e maior no software Ubuntu? Você não precisa ser um Linux Pro. Leia para descobrir como atualizar o Clas..


Como usar o comando fsck no Linux

Linux Aug 18, 2025

Pixza Studio / Shutterstock Todos os nossos dados importantes sentam em um sistema de arquivos de um tipo ou outro, e os problemas do sistema de arquivos são ..


O que há de novo no sistema elementar "Odin"

Linux Aug 14, 2025

Elementary, Inc. Existem muitas distribuições do Linux. (Distros) que as pessoas afirmam que são boas substituições para Windows ou MacOS. Mas há pouco..


Linux vira 30: Como um projeto de hobby conquistou o mundo

Linux Sep 17, 2025

Larry Ewing e The GIMP Sobre 17 de setembro de 1991 , Linus Torvalds lançou kernel do Linux (versão 0.01) pela primeira vez. Aqui está uma breve ..


Ubuntu 21.10 chega com um desktop personalizado gnome 40

Linux Oct 14, 2025

Ubuntu. Se você é um usuário do Ubuntu, ou alguém que está pensando em dar uma tentativa, hoje é um bom dia. Canônico lançou oficialmente o Ubuntu 21.10 com um de..


Como adicionar um usuário ao arquivo sudoers no Linux

Linux Oct 30, 2025

Se um sudo O comando no Linux recebe uma mensagem de que um usuário "não está no arquivo sudoers", você precisará entrar na lista "sudoers". Vamos adicionar um usuário a sudoer..


Categorias