Czy istnieje sposób na kontynuację zepsutego procesu polecenia scp (bezpiecznego kopiowania) w systemie Linux? [Zamknięte]


241

Kopiuję plik 7,5 GB na zdalny serwer za pomocą polecenia scp . W pewnym momencie przesyłanie pliku zrywa się i muszę zacząć wszystko od nowa.

Czy tymczasowa ilość przesyłanego pliku jest całkowicie utracona? Czy mogę jakoś ponownie uruchomić transfer z miejsca, w którym został zatrzymany przy poprzedniej próbie? Jeśli nie, to czy jest do tego jakieś standardowe polecenie przesyłania plików w wierszu poleceń systemu Unix?


1
Więcej odpowiedzi na to pytanie , w tym. rozwiązania bez rsync.
tanius

Odpowiedzi:


400

Jeśli chcesz wznowić transfer scp z lokalnego na zdalny , spróbuj z rsync:

rsync --partial --progress --rsh=ssh local_file user@host:remote_file

Krótka wersja, jak wskazał @ aurelijus-rozenas :

rsync -P -e ssh local_file user@host:remote_file

Ogólnie rzecz biorąc, kolejność argumentów dla rsync to

rsync [options] SRC DEST

34
Dla portu innego niż domyślny 22 użyjrsync -P -e "ssh -p 222" SRC DEST
asofyan

4
A jeśli rsync -ejest przerwany, znalazłem zmianę nazwy. <nazwa_pliku>. <6funnychars> na <nazwa_pliku> w miejscu docelowym przed wznowieniem rsync -ebyło potrzebne.
gaoithe

5
rsync działa tylko wtedy, gdy jest dostępny po drugiej stronie.
dothebart

1
Czy rsync naprawdę wznawia przesyłanie plików rozpoczęte w scp? Czy faktycznie potrzebne są dwie komendy rsync, jedna komenda rsync, a nie scp, aby rozpocząć kopiowanie, a następnie rozłączenie się, a następnie druga komenda rsync, aby wznowić kopiowanie?
Geoffrey Anderson

4
Nie ma znaczenia, w jaki sposób uzyskano częściowe pobranie. Możesz zacząć od scp, a następnie zakończyć przez rsync.
Tom McClure,

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.