rsync

Como usar o rsync para copiar arquivos

Como usar o rsync para copiar arquivos
Rsync é uma ferramenta de linha de comando no Linux usada para copiar arquivos de um local de origem para um local de destino. Você pode copiar arquivos, diretórios e todo o sistema de arquivos e manter em sincronia os arquivos entre diferentes diretórios. Ele faz mais do que apenas copiar os arquivos. Reduz a quantidade de dados enviados pela rede, enviando apenas os arquivos que são novos ou atualizados. É por isso que é considerado um grande utilitário para cópia e backup de arquivos. Rsync também suporta a cópia de arquivos para um sistema remoto via SSH.

Neste artigo, explicaremos como usar o rsync para copiar arquivos com alguns exemplos práticos. Também explicaremos o uso de rsync na cópia de um único arquivo, vários arquivos e diretório para sistemas locais e remotos. Estaremos abordando como usar o Rsync para:

Explicamos os comandos e procedimentos mencionados neste artigo em um Ubuntu 20.04 LTS. Você precisará do Terminal de linha de comando para copiar arquivos usando rsync. Para abrir o aplicativo Terminal de linha de comando, use o atalho de teclado Ctrl + Alt + T.

Instalando Rsync

Rsync vem pré-instalado no Ubuntu 20.04 LTS. No entanto, se ele for removido acidentalmente do sistema, você pode instalá-lo da seguinte maneira:

$ sudo apt install rsync

Aqui estão algumas das opções comumente usadas que podem ser usadas com rsync:

-a: modo de arquivo
-v: mostra detalhes do processo de cópia
-p: mostra a barra de progresso
-r: copia dados recursivamente
-z: comprime dados
-q: suprimir saída

Copie arquivos e diretórios localmente

A sintaxe geral do rsync é:

$ rsync [opção] [fonte] [destino]

Copie um único arquivo localmente

Se você deseja copiar um arquivo de um local para outro em seu sistema, você pode fazer isso digitando rsync seguido pelo nome do arquivo de origem e o diretório de destino.

Por exemplo, para copiar um único arquivo “arquivo1.txt ”do local atual que é o diretório inicial para o diretório ~ / Documentos, o comando seria:

$ rsync / home / tin / file1.txt / home / tin / Documentos

Nota: Em vez de “/ home / tin / file1.txt ”, também podemos digitar“ arquivo1 ”, pois estamos trabalhando no diretório inicial. Além disso, podemos usar ~ / Documents em vez de mencionar o caminho completo como “/ home / tin / Documents”.

Copie vários arquivos localmente

Se você deseja copiar vários arquivos de uma vez de um local para outro dentro do seu sistema, você pode fazer isso digitando rsync seguido pelo nome dos arquivos de origem e o diretório de destino.

Por exemplo, para copiar os arquivos “file2.txt ”e“ arquivo3.txt ”do diretório Home para o diretório ~ / Documents, o comando seria:

$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Documentos

Para copiar todos os arquivos com a mesma extensão, você pode usar o símbolo de asterisco (*) em vez de especificar individualmente os nomes dos arquivos. Por exemplo, para copiar todos os arquivos do diretório inicial que terminam com “.zip ”extensão para o diretório ~ / Documents, usaremos:

$ rsync / home / tin / *.zip ~ / Documentos

Copiar diretórios localmente

Se você deseja copiar um diretório com seu subdiretório e todo o conteúdo de um local para outro dentro de seu sistema, você pode fazer isso digitando rsync seguido pelo diretório de origem e destino.

Por exemplo, para copiar o diretório “sample” para o diretório “test /” dentro do diretório Home, o comando seria:

$ rsync -av / home / tin / sample / home / tin / test

Nota: Especificar “/” após o diretório de origem copia apenas o conteúdo do diretório. Se não especificarmos “/” após o diretório de origem, o diretório de origem também será copiado para o diretório de destino.

Como na saída a seguir, você pode ver que nosso diretório de origem "amostra" também é copiado para o diretório de destino (já que usamos "amostra" em vez de "amostra /" como um diretório de origem).

O Rsync suporta transferência incremental como você pode ver na saída acima que ele apenas transfere os arquivos que são novos ou atualizados.

Copie arquivos com base no tamanho máximo

Durante a cópia, também podemos especificar o tamanho máximo dos arquivos que podem ser copiados com a opção “-max-size”. Por exemplo, para copiar os arquivos de no máximo 2.000 k do diretório ~ / Downloads para o diretório ~ / Documents, o comando seria:

$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / Documentos

Este comando irá copiar todos os arquivos de ~ / Downloads para o diretório ~ / Documents exceto aqueles maiores que 2000k.

Copie os arquivos com base no tamanho mínimo

Da mesma forma, também podemos especificar o tamanho mínimo dos arquivos que podem ser copiados com a opção “-min-size”. Por exemplo, para copiar os arquivos não menores que 5M do diretório ~ / Downloads para o diretório ~ / Documents, o comando seria:

$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / Documentos

Este comando irá copiar todos os arquivos de ~ / Downloads para o diretório ~ / Documents exceto aqueles menores que 5M.

Excluir arquivos

Ao copiar arquivos de um diretório para outro, você pode excluir alguns arquivos usando a opção “-exclude” seguida pelo nome do arquivo ou a extensão do tipo de arquivo.

Por exemplo, para excluir todos os .zipar arquivos ao copiar arquivos de ~ / Downloads para o diretório ~ / Documentos, o comando seria:

$ rsync -a --exclude = "*.zip "/ home / tin / Downloads / / home / tin / Documentos

Copie arquivos e diretórios remotamente

Com o Rsync, você pode copiar um único arquivo, vários arquivos e diretórios para um sistema remoto. Para copiar arquivos e diretórios remotamente, você precisará de:

Antes de copiar arquivos usando rsync, certifique-se de que você pode acessar o sistema remoto via SSH:

$ ssh remote_user @ remote_ip


A sintaxe geral para copiar arquivos e diretórios para um sistema remoto usando rsync:

$ rsync [opção] [fonte] [usuário remoto @ remoteip: destino]

Por exemplo, para copiar um único arquivo “arquivo.txt ”de ~ / Downloads para sistema remoto ~ / diretório de documentos, o comando seria:

$ rsync -v ~ / Downloads / arquivo1.txt umara @ 192.168.72.164: ~ / Documentos

Da mesma forma, para copiar o diretório “~ / Downloads / arquivos” em um sistema local com seu subdiretório e todo o conteúdo para o diretório “~ / Downloads / samples” no sistema remoto:

$ rsync -rv ~ / Downloads / files umara @ 192.168.72.164: ~ / Downloads / amostras

Você também pode copiar os arquivos e diretórios da máquina remota para a sua máquina local. Por exemplo, para copiar um “arquivo2.txt ”do sistema remoto para a área de trabalho do sistema local:

$ rsync -v umara @ 192.168.72.164: ~ / Downloads / arquivo2.txt ~ / Desktop /

Da mesma forma, para copiar um diretório do sistema remoto para o sistema local

$ rsync -rv umara @ 192.168.72.164: ~ / Downloads / amostra ~ / Desktop / teste

Você também pode usar todas as opções como -max-size, -min-size, -exclude e outras enquanto copia arquivos de / para o sistema remoto.

Rsync é uma ótima ferramenta para copiar arquivos da origem ao destino local ou remotamente. Inclui um grande conjunto de opções que lhe dá flexibilidade e controle durante a transferência de arquivos de / para o sistema remoto.

WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...
O botão esquerdo do mouse não funciona no Windows 10
Se você estiver usando um mouse dedicado com seu laptop ou computador desktop, mas o o botão esquerdo do mouse não funciona no Windows 10/8/7 por algu...
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...