Eu fiz o backup de um servidor web linux usando o rsync com o cygwin. Agora 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? Estou com a impressão de que, se eu excluir / modificar no servidor e executar o rsync no meu laptop, ele excluirá / modificará o arquivo local no meu laptop, mas isso funcionará ao contrário?
25
unison
. É uma ferramenta de sincronização que salva o estado do arquivo nas duas cópias e, portanto, permite a sincronização bidirecional. Há também um pacote cygwin.Respostas:
O Rsync faz uma sincronização unidirecional, no entanto, cabe a você decidir para que lado a sincronização será.
A sintaxe do comando Rsync é a seguinte:
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ê deseja copiar arquivos do servidor para o laptop, faça:
Para sincronizar na direção oposta, você faz:
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
--delete
opção Mas tenha cuidado com isso, porque se você cometer um erro ao especificar sua fonte, você removerá tudo o que estiver no seu destino. É mais seguro testar sua sincronização sem a--delete
opção primeiro e, quando estiver satisfeito com o funcionamento, você pode adicionar a--delete
opção.Conforme sugerido por masegaloeh nos comentários abaixo,
-n
ou a--dry-run
opção também pode ser usada para testar orsync
comportamento do comando.fonte
-n
ou--dry-run
, então você vai saber qual arquivo será excluído e modificadoUma ferramenta de invólucro escrita em python3 denominada
bsync
wrapsfind
ersync
comando simplifica a tarefa. Repo do Github: https://github.com/dooblem/bsyncNão se assuste quando estiver no github (isto é, de uma maneira que você acha que deve ser um programador para usar a ferramenta).
fonte
considere usar --delete-after e não --delete, isso garantirá que o seu destinatário exclua os arquivos após a transferência, não antes.
fonte
rsync
excluir nada. Ele está excluindo coisas por conta própria. Dito isto, dica útil para sincronizar em geral. Obrigado.