Rsync cria um diretório com o mesmo nome dentro do diretório de destino

61

Quando eu executo este comando

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests /var/www/tests

os arquivos são sincronizados, mas, em vez de salvar os arquivos /var/www/tests, o Rsync cria mais um diretório "testes" dentro dos "testes" existentes:

/var/www/tests/tests

e coloca os arquivos lá. Como dizer ao Rsync para não criar um novo diretório?

javi007
fonte

Respostas:

56

Se você não quiser que outro testsdiretório seja criado, o comando correto será

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests

Observe o /no final de user@hostname:/var/www/tests/.

etagenklo
fonte
34

Você precisa de uma barra à direita na fonte.

Aqui está o comando correto:

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests

Mais informações

Explicação de rsync e barras finais:

http://defindit.com/readme_files/rsync_backup.html

O Rsync possui dois modos principais de operação. Os modos dependem da ausência ou presença da barra no diretório de origem.

Outro exemplo:

http://www.jveweb.net/en/archives/2010/11/synchronizing-folders-with-rsync.html

... você precisa adicionar a barra à direita, caso contrário, uma pasta chamada Imagens é criada dentro da pasta Imagens que especificamos como destino.

Drew Khoury
fonte