O Rsync permite que os arquivos sejam sincronizados em ambas as formas?

22

Eu fiz backup de um servidor web linux usando o rsync com o cygwin. Agora eu tenho uma cópia perfeita do servidor no meu laptop Windows. Se eu excluir ou modificar um arquivo no meu laptop e executar o rsync novamente com o cygwin, ele excluirá / atualizará o mesmo arquivo no servidor? Tenho a impressão de que, se eu excluir / modificar no servidor e executar rsync no meu laptop, ele irá excluir / modificar o arquivo local no meu laptop, mas isso funciona em sentido inverso?

    
por Dan Hastings 06.07.2014 / 15:09

3 respostas

27

O Rsync faz uma sincronização unidirecional, mas cabe a você decidir o caminho da sincronização.

A sintaxe do comando Rsync é a seguinte:

rsync [OPTION...] SRC... [DEST]

Observe que você especifica a sincronização da origem ao destino. A origem e o destino podem ser qualquer caminho local ou remoto.

Por exemplo, se você quiser copiar arquivos do seu servidor para o seu laptop, faça o seguinte:

rsync [OPTION...] <server-path> <laptop-path>

Para sincronizar na direção oposta você faz:

rsync [OPTION...] <laptop-path> <server-path>

Então, para responder à sua pergunta: depende de como você executa o rsync.

Se você deseja que os arquivos sejam excluídos no destino, é necessário usar a opção --delete . Mas tenha cuidado com isso, porque se você cometer um erro ao especificar sua fonte, então você vai acabar removendo tudo no seu destino. É mais seguro testar sua sincronização sem a opção --delete primeiro e, quando estiver satisfeito com a forma como ela funciona, você poderá adicionar a opção --delete .

Como sugerido por masegaloeh nos comentários abaixo, a opção -n ou --dry-run também pode ser usada para testar% comportamento do comandorsync.

    
por 06.07.2014 / 16:22
0

Uma ferramenta de wrapper escrita em python3 chamada bsync , que envolve o comando find e rsync , simplifica a tarefa. Repo do Github: link

Não tenha medo quando estiver no github (ou seja, de uma forma que você acha que deve ser um programador para usar a ferramenta).

    
por 06.12.2015 / 00:09
-2

considere o uso de --delete-after e não --delete, isso garantirá que o seu terminal de recebimento apague os arquivos após a transferência, e não antes.

    
por 07.07.2014 / 20:26