Prześlij plik przez niestabilne połączenie SSH


23

Próbuję przesłać duże pliki (około 10 GB) o niskiej prędkości przesyłania (200 kb / s) na często rozłączanym połączeniu SSH (z powodu złych warunków sieciowych).

Próbuję użyć scp, ale jeśli istnieje najlepszy sposób na SSH, nie mam nic przeciwko.

Jak najlepiej to zrobić?

Próbowałem podzielić go na kilka części split, ale nie jest to naprawdę wydajne, ponieważ wymaga dużo pracy ręcznej przed i po przeniesieniu.


2
rsync jest lepiej. Można go ponownie uruchomić - co oznacza, że ​​możesz kontynuować od miejsca, w którym przerwałeś, jeśli połączenie zostanie rozłączone. Prawdopodobnie będziesz chciał użyć --partialflagi. I domyślnie działa nad ssh. Możesz łączyć się z agresywnym programem kompresji, takim jak 7z, ale będziesz potrzebować dużo pamięci i to zajmie trochę czasu.
Faheem Mitha

Próbowałem z - częściowe, ale to po prostu gwiazdy ponad ...
blue112

„gwiazdy ponad”? Masz na myśli zaczyna się od nowa? Są to flagi używam: rsync -abvz --partial. Czy możesz pokazać przykładową sesję?
Faheem Mitha

@FaheemMitha Próbowałem to odtworzyć, ale wydaje się, że teraz działa ...
blue112

Nie można wznowić przesyłania za pomocą scp. Można wznowić przesyłanie za pomocą rsync --partial. Nie można wznowić przesyłania za pomocą sftp. Na innym kierunku, tj wznawianie pobieranie plików, można użyć rsync --partial, sftp regetlub sftp get -a.
pkt.

Odpowiedzi:


32

Użyj rsync z opcją --partial

rsync -av --partial sourcedir user@desthost:/destinationdir

Opcja --partial zachowa częściowo przesłane pliki. Po wznowieniu transferu rsync po zerwaniu połączenia ssh częściowo przesłane pliki zaczną być wznawiane od miejsca, w którym połączenie ssh zostało utracone, a także pomyślnie przesłane pliki nie zostaną ponownie przesłane.

Zastanów się również nad przekazaniem opcji -z , jeśli uważasz, że przesyłane pliki można znacznie skompresować; na przykład pliki dziennika zawierające powtarzający się tekst.

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.