como usar rsync com exemplos

Rsync é uma ferramenta popular para sincronização de arquivos, tanto localmente quanto remotamente. Ao contrário de outras ferramentas de sincronização, o rsync usa um algoritmo interessante que minimiza o consumo de largura de banda. Ele simplesmente move a parte do(S) arquivo (s) que mudaram.

é um utilitário poderoso que pode servir em muitas situações. Neste artigo, vou mostrar como começar com o rsync com uma demonstração. A demonstração será realizada no Ubuntu 18.04.

Rsync

Rsync significa o termo sincronização remota. Apesar do nome, ele pode lidar com a sincronização de arquivos remotamente e localmente. O termo rsync também é usado para se referir ao protocolo rsync que o rsync usa para sincronizar. Neste artigo, o rsync sempre denota a ferramenta, não o protocolo.por causa de sua popularidade, o rsync está disponível em quase todos os sistemas Linux e UNIX. Há uma boa hipótese de vir pré-instalado. Caso contrário, faça uma pequena pesquisa sobre como instalar o rsync em seu sistema.

Aqui está uma lista de recursos oferecidos pelo rsync.

  • Directório de cópia
  • Fácil configuração de cópia de segurança
  • Pode trabalhar através de SSH
  • Pode executado como daemon/servidor
  • permissão de Arquivo de retenção

Rsync uso

Antes de saltar para o rsync, precisamos de algumas fictício arquivos para trabalhar com. Vamos criar um directório falso primeiro.

$ mkdir -v principal

uma Vez criado, é hora de criar um punhado de manequim arquivos. Para criar um ficheiro, vou usar o comando touch. Saiba mais sobre o comando touch.

$ Touch dummy{1..20}

Pronto! Agora estamos prontos para usar o rsync para realizar ações usando esses arquivos fictícios.

A estrutura de comandos do Rsync

o Rsync usa a seguinte estrutura de comandos.

$ rsync <opção><src><destino>

Sincronização de directórios locais

Agora, é hora de usar o rsync para sincronizar arquivos em vários destinos. Neste exemplo, estaremos sincronizando o conteúdo do dir_primary para dir_target.

$ mkdir -v-alvo

Informe o rsync para sincronizar o conteúdo de ambos os diretórios.

$ rsync -v -r primária/ target

Aqui, usamos dois argumentos diferentes.

-v: diz ao rsync para correr para o modo descritivo
-r: recursivo, necessário para a sincronização de diretórios.

neste próximo exemplo, estaremos usando uma bandeira diferente.

$ rsync-V-a primary/target

-a: a combination flag that stands for “archive”.

Usando esta opção, o rsync sincronizará o conteúdo recursivamente, preservando todos os ficheiros simbólicos, especiais / dispositivos, tempos de modificação, permissões de ficheiros, grupo, dono, etc. É mais usado do que a bandeira” – r”. Para arquivamento, este é um método mais recomendado.

Você notou que em todos os comandos que executamos até agora, no caso do Código, nós sempre mantemos o “/” após o nome do diretório? Isto é para dizer ao rsync que a fonte é todo o conteúdo do Diretório de origem. Se o ” / ” no final do Diretório de código não for usado, o rsync simplesmente criará uma cópia do Diretório de código em vez de seu conteúdo.

vamos verificar com um exemplo.

$ rsync -v -alvo primário

Verifique o resultado de saída.

$ tree target /

na maior parte do tempo, isto não é algo que precisamos. No entanto, dependendo da situação, pode vir a ser útil.

Rsync test run

Antes de executar um comando rsync, é sempre importante verificar que o comando irá executar a acção como esperado. Se quiser testar a acção rsync para um determinado comando, use a opção”- n “ou”-dry-run”.

$ rsync -avn principal/ target

$ rsync -avn-alvo primário

Aqui, o resultado mostra que o rsync deve executar-se o comando foi realmente executado. Sempre que você está testando, não se esqueça de usar a bandeira “-v” para obter uma representação precisa do que está acontecendo.

Rsync sobre uma ligação remota

esta é outra funcionalidade interessante que suporta o rsync. Se a sua localização de cópia de segurança estiver algures remota, poderá configurar facilmente o rsync para efectuar a cópia de segurança no local remoto através do SSH. No entanto, ambas as máquinas devem ter rsync instalado. Além disso, ambos os sistemas também precisam ter chaves SSH ajustadas.pronto? Vamos começar. No início, é a sincronização do arquivo.

$ rsync -a <local_dir><username><remote_host><
destination_dir>

Aqui, esta operação é chamada de um “empurrão”, pois ele empurra um diretório do sistema local para um sistema remoto. O oposto é conhecido como”puxar”.

$ rsync -a <username><remote_host><source_dir><local_dir>

Rsync trata o primeiro argumento como o de origem, o segundo como o destino.

as opções úteis do rsync

o Rsync suporta uma tonelada de opções. Todos eles servem o seu próprio propósito. No entanto, na maioria das vezes, apenas um punhado deles são usados na maioria das vezes. Nesta seção, vamos dar uma olhada em algumas opções úteis do rsync.

na maioria das vezes, os ficheiros que está prestes a sincronizar não são comprimidos. Usando compressão, você pode economizar tempo e largura de banda ao custo de um pouco de energia extra de processamento. O Rsync oferece compressão por padrão. Para realizar sincronização comprimida, use a bandeira “- z”.

$ rsync -avz <fonte><destino>

Este interessante bandeira combina a função do “progresso” e “parcial” bandeira”. O primeiro é mostrar uma barra de progresso da transferência e o segundo é permitir a retomada da transferência interrompida. Ambas as características são combinadas na bandeira “- P”.

$ rsync -avzP <source><destination>

Now, let’s check out how rsync handles file syncing intelligently. Run the previous command again.

$ rsync -avzP <fonte><destino>

Aqui, o rsync não re-upload de todos os arquivos. Em vez disso, saltou aqueles que não mudaram nada. Neste exemplo, ele ignorou todos os arquivos como todos eles estão presentes no diretório de destino.

E se apagou um ficheiro da pasta de origem? Por padrão, o rsync não irá apagar nada da pasta de destino. Para forçar o rsync a apagar arquivos, use a bandeira – – delete”. No entanto, use a execução seca para testar se o comando funciona como quiser.

$ rsync -avn –delete <fonte><destino>

Por padrão, o rsync irá sincronizar cada arquivo/diretório de origem para o diretório de destino. Em certas situações, você pode querer incluir / excluir certos arquivos de sincronização. O Rsync oferece opções úteis como” –exclude “e” – include ” para excluir/incluir certos arquivos. Passar o padrão de arquivo como o valor para estes argumentos.

$ rsync -avn –exclude=<padrão de> –include=<padrão de>

Você também pode definir o tamanho de arquivo maior que o rsync deve sincronizar. Para fazer isso, use a bandeira “–max-size” seguida pelo tamanho do arquivo.

$ rsync -avn –max-size=’10’ <fonte><destino>

Rsync tem outra característica interessante na sua manga. Já não precisa do ficheiro de código depois de sincronizar? O Rsync pode fazer isso, sem problemas. No entanto, certifique-se de que você não está executando o rsync com a bandeira “- delete”. Caso contrário, o rsync irá excluir os arquivos sincronizados do Destino!

$ rsync -av –remove-source-files <fonte><destino>

considerações Finais

Estes são apenas alguns simples e comum o cenário de utilização do rsync. Oferece muito mais do que isso. É possível automatizar operações de rsync usando o servidor de rsync ou outro scripting. Espero que este guia tenha sido útil para começar com o rsync.interessado em mais rsync? Podes usar o rsync como fotocopiadora de ficheiros. É mais eficiente e inteligente que o cp. Mais recursos e uso em profundidade podem ser encontrados na página man do rsync.

$ man rsync

divirta-se!



Deixe uma resposta

O seu endereço de email não será publicado.