Перенесіть файл через нестабільне з'єднання SSH


23

Я намагаюся завантажувати декілька великих файлів (близько 10 ГБ) з повільною швидкістю завантаження (200 Кбіт / с) на часто відключеному з’єднанні SSH (через погані мережеві умови).

Я намагаюся використовувати scp, але якщо є найкращий шлях через SSH, я з цим все в порядку.

Який найкращий спосіб це зробити?

Я намагався розділити його на кілька частин, використовуючи split, але це не дуже ефективно, оскільки вимагає багато ручної роботи до і після передачі.


2
rsync краще. Він може бути перезавантажений - це означає, що ви можете продовжувати там, де ви зупинилися, якщо ваше з'єднання відключається. Напевно, ви захочете використовувати --partialпрапор. І за замовчуванням він працює над ssh. Можна поєднати з агресивною програмою стиснення, як 7z, але вам знадобиться багато пам’яті, і це займе певний час.
Faheem Mitha

Я спробував - частково, але це просто зірки ...
blue112

"зірки понад"? Ви маєте на увазі старти з початку? Ці прапори , які я використовую: rsync -abvz --partial. Чи можете ви показати приклад сеансу?
Faheem Mitha

@FaheemMitha Я намагався її відтворити, але, схоже, зараз це працює ...
blue112

Неможливо відновити завантаження за допомогою scp. Можна відновити завантаження за допомогою rsync --partial. Неможливо відновити завантаження за допомогою sftp. Для іншого напрямку, тобто відновлення завантаження, ви можете використовувати rsync --partial, sftp regetабо sftp get -a.
пт

Відповіді:


32

Використовуйте rsync з опцією --partial

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

--Partial буде зберігати частково передані файли. Коли ви відновите передачу rsync після розірваного з'єднання ssh, частково передані файли почнуть відновлюватися з того моменту, коли втрачено ssh-з'єднання, а також успішно передані файли знову не будуть передані.

Також розгляньте можливість передачі в -z варіант, якщо ви вважаєте, що файли, які ви передаєте, можуть бути значно стиснуті; наприклад, файли журналів, що містять повторний текст.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.