Rsync tworzy katalog o tej samej nazwie w katalogu docelowym

61

Kiedy uruchamiam to polecenie

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

pliki są synchronizowane, ale zamiast zapisywania plików /var/www/tests, Rsync tworzy jeszcze jeden „test” katalogu wewnątrz istniejących „testów”:

/var/www/tests/tests

i umieszcza tam pliki. Jak powiedzieć Rsync, aby nie tworzył nowego katalogu?

javi007
źródło

Odpowiedzi:

55

Jeśli nie chcesz, aby testsutworzono inny katalog, poprawne byłoby polecenie

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

Uwaga /na końcu user@hostname:/var/www/tests/.

etagenklo
źródło
34

Potrzebujesz końcowego ukośnika na źródle.

Oto prawidłowe polecenie:

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

Więcej informacji

Objaśnienie rsync i końcowych ukośników:

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

Rsync ma dwa główne tryby działania. Tryby zależą od braku lub obecności końcowego ukośnika w katalogu źródłowym.

Inny przykład:

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

... musisz dodać końcowy ukośnik, w przeciwnym razie folder o nazwie Obrazy zostanie utworzony w folderze Obrazy, który określimy jako miejsce docelowe.

Drew Khoury
źródło