Ponieważ możesz rsyncbezpośrednio z lokalnego komputera.
Johnsyweb
2
Och ... tak, mogę. Widzę teraz inne odpowiedzi. Dzięki.
markstewie
17
Jest to wspólne zadanie dla rozwoju (sieci) z dobrą odpowiedzią. Nie rozumiem, dlaczego wciąż jest zamknięty.
d.raev,
6
Myślę, że @ d.raev miał na myśli to, że pytanie zostało zamknięte jako nie na temat (jeśli dobrze pamiętam, oflagowałem migrację tego pytania do SuperUser, gdzie myślę, że pasuje lepiej), niż że nie było żadnej zaakceptowanej odpowiedzi . Mimo to ... miło było zaakceptować moją odpowiedź po tak długim czasie. :-)
Johnsyweb,
3
@ markstewie żadnych złych uczuć, to dobre pytanie i pomogło mi (wydaje się, że wiele innych też), ale to „zamknięte” sprawia, że nie wygląda na godne zaufania, więc postanowiłem zwrócić na to uwagę.
@cmcdragonkai: w rzeczy samej, lokalny host musi mieć uruchomiony serwer ssh i być dostępny dla zdalnego hosta. To jeden z powodów, dla których wolę pierwsze rozwiązanie od drugiego.
Johnsyweb
16
Zachowaj ostrożność podczas rsynchronizacji z końcowymi ukośnikami. Polecenie wydane przez Johnnysweb utworzy katalog o nazwie copy wewnątrz /path/to/local/storage. Podoba mi się /path/to/local/storage/copy. Jeśli tego właśnie chcesz świetnie. Jednak częstszym scenariuszem jest skopiowanie zawartości katalogu zdalnego do katalogu lokalnego. Następnie zrobiłbyś to, /path/to/copy/co umieściłoby zawartość w katalogu /path/to/local/storagebez tworzenia lokalnego katalogu kopii.
rozdział
16
Przyszedłem tutaj po komendę rsync i wyszedłem z wyjaśniahell.com . Dzięki @beefsack!
Cyphase
50
Jeśli masz dostęp do SSH, nie musisz najpierw SSH, a następnie kopiować, wystarczy użyć Bezpiecznego kopiowania (SCP) z miejsca docelowego.
scp user@host:/path/file /localpath/file
Obsługiwane są znaki wieloznaczne, więc
scp user@host:/path/folder/* /localpath/folder
skopiuje wszystkie zdalne pliki z tego folderu. jeśli skopiujesz więcej niż jeden katalog.
Uwaga -r skopiuje również wszystkie podfoldery i zawartość.
Dlaczego używać scpzamiast rsync? Uważaj również, aby twoja powłoka nie próbowała się rozszerzać user@host:/path/folder/*, być może używając pojedynczych cudzysłowów ( ').
Johnsyweb
Uważam, że scp jest łatwiejszy w użyciu z miejsca docelowego .... Zasadniczo jest to kopiowanie plików przez ssh, ale bez konieczności wcześniejszego ustanowienia połączenia ssh.
Tezyn
8
Wiem, co to scpjest, to nie było moje pytanie. Dlaczego nie używałeś rsync? O to właśnie pyta pytanie, nie wymaga ustalonej sesji SSH i jest często szybsze i bardziej wydajne niż scp.
Johnsyweb,
26
Pamiętaj, że scp podąża za dowiązaniami symbolicznymi zamiast je kopiować. Może to prowadzić do kopiowania więcej niż się spodziewasz i utraty dowiązań symbolicznych (stają się normalnymi folderami / plikami).
Poniedziałek
2
Odpowiedź Mondane'a jest właśnie powodem, dla którego znalazłem ten post. Zwykle używam scp do wszystkiego, ale musiałem zachować uprawnienia i dowiązanie symboliczne między serwerami. Również różnica prędkości (bc moja nowicjuszka zdecydowanie zorientowana jako pierwsza) była ogromna.
rsync
bezpośrednio z lokalnego komputera.Odpowiedzi:
Z lokalnego komputera:
Z lokalnego komputera z niestandardowym portem ssh:
Lub ze zdalnego hosta, zakładając, że naprawdę chcesz pracować w ten sposób, a lokalny komputer nasłuchuje na SSH:
Zobacz
man rsync
wyjaśnienie moich zwykłych przełączników.źródło
/path/to/local/storage
. Podoba mi się/path/to/local/storage/copy
. Jeśli tego właśnie chcesz świetnie. Jednak częstszym scenariuszem jest skopiowanie zawartości katalogu zdalnego do katalogu lokalnego. Następnie zrobiłbyś to,/path/to/copy/
co umieściłoby zawartość w katalogu/path/to/local/storage
bez tworzenia lokalnego katalogu kopii.Jeśli masz dostęp do SSH, nie musisz najpierw SSH, a następnie kopiować, wystarczy użyć Bezpiecznego kopiowania (SCP) z miejsca docelowego.
Obsługiwane są znaki wieloznaczne, więc
skopiuje wszystkie zdalne pliki z tego folderu. jeśli skopiujesz więcej niż jeden katalog.
Uwaga -r skopiuje również wszystkie podfoldery i zawartość.
źródło
scp
zamiastrsync
? Uważaj również, aby twoja powłoka nie próbowała się rozszerzaćuser@host:/path/folder/*
, być może używając pojedynczych cudzysłowów ('
).scp
jest, to nie było moje pytanie. Dlaczego nie używałeśrsync
? O to właśnie pyta pytanie, nie wymaga ustalonej sesji SSH i jest często szybsze i bardziej wydajne niżscp
.