Se você não quiser que outro diretório tests
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/
.
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 arquivos em /var/www/tests
, o Rsync cria mais um diretório "testes" dentro dos "testes" existentes:
/var/www/tests/tests
e coloca arquivos lá. Como dizer ao Rsync para não criar um novo diretório?
Você precisa de uma barra na fonte.
Aqui está o comando correto:
rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests
Explicação das barras rsync e final:
Rsync has two major modes of operation. The modes are dependent on the absence or presence of the trailing slash on the source directory.
Outro exemplo:
...you need to add the trailing slash, otherwise, a folder called Pictures is created inside the Pictures folder that we specify as destination.