rsync é um utilitário amplamente usado para manter cópias de um arquivo em dois sistemas de computadores ao mesmo tempo.
É normalmente encontrado em sistemas do tipo Unix e em funções como um programa de sincronização de arquivos e transferência de arquivos. O algoritmo rsync, um tipo de codificação delta, é usado para minimizar o uso da rede.
Zlib pode ser usado para compressão adicional e o SSH ou stunnel pode ser usado para segurança de dados.
Rsync está em código aberto sob os termos da GNU GPL Versão 2.
Para instalar o Rsync na sua Distro, exemplos:
Agora vamos aos exemplos!
Similar ao comando cp
Ou seja, exiindo detalhes da operação
O parâmetro é -r
ou --recursive
, mas agora é bom usar todos os comandos com -v
O problema do exemplo 03 é que o diretório my-dir
não será criado e os arquivos ficarão espalhados.
O correto é usar ele criando o diretório:
A saída exemplo:
Essa é estilo total scp
Ou especificando seu usuário e ainda também, verbose:
Assim como no scp
precisa usar o -r
, para esse caso remoto não precisa do --mkpath
, os diretórios serão criados automaticamente.
Exemplo de saída:
A gente sabe que pode usar o *
para copiar estilo glob, que não é regex. Então para copiar só os arquivos txt do diretório raiz remoto.
Lembrando que o diretório não será criado.
Diferentemente do scp
, se você cancelar a cópia o arquivo local deixará de existir, ou seja, ele não copia pedaços, é sempre de forma síncrona.
Cópia remota dentro da rede também consomem largura da banda baseada na velocidade da sua placa de rede, então para que você continue usando a rede ou a internet sem deixá-la lenta às vezes é interessante limitar a velocidade da cópia, para isso você pode usar o parametro --bwlimit=[número]
, onde o [número] será em kilobits .
A velocidade não ficará com exatos 64k, mas ficará em torno, um pouco acima ou abaixo, exemplo:
E por fim, nos resta o manual e ajuda, pois lá ainda tem parâmetro pra caramba!