Rsync kopiuje zawartość katalogu, ale nie sam katalog


120

Próbuję zsynchronizować dwie zawartości folderów o różnych nazwach:

rsync -av ~/foo user@remote.com:/var/www/bar

Chciałbym skopiować zawartość foodo barna zdalnym hoście, ale nie foosam katalog . Próbowałem czegoś takiego foo/*, ale rsync tego nie obsługuje.

rsync zawsze tworzy

/var/www/bar/foo

18
po prostu zostaw końcowe ukośnik powinno wystarczyć
exussum

Odpowiedzi:


190

Próbować rsync -av ~/foo/ user@remote.com:/var/www/bar/


37
To zachowanie jest dziwne w porównaniu z mvlub cp.
zeekvfu,

Wydaje się dziwne i niespójne, aby końcowy ukośnik był odpowiedni tylko dla tego konkretnego polecenia. Ciekawe, dlaczego nie został zmieniony.
Luke Davis

39
Na wypadek, gdyby ktoś też się zastanawiał, dlaczego to działa: jest to koniec /po nazwie katalogu.
Etienne Bruines

32

To proste,

rsync /var/www/ /home/var- kopiuje zawartość / var / www /, ale nie sam folder www .

rsync /var/www /home/var- kopiuje folder www wraz z całą zawartością.

„/” Robi różnicę.


6
To powinna być akceptowana odpowiedź, która naprawdę wyjaśnia różnicę
edi9999

29

Nie jest to związane tylko z rsync, ale jeśli szukasz przykładów użycia polecenia GNU / Linux, możesz użyć „np”, które wyświetla wyraźne przykłady. np. jest dostępny tutaj, z instrukcjami, jak go zainstalować: https://github.com/srsudar/eg

Wynik eg rsyncjest następujący

# rsync


copy the folder source_dir and its content into destination_dir

    rsync -av source_dir destination_dir


copy the contents of source_dir (trailing slash) into destination_dir

    rsync -av source_dir/ destination_dir

0

Przejdź do katalogu, który chcesz skopiować, więc:

cd ~/foo 

Uruchom to:

rsync -avz . user@remote.com:/var/www/bar
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.