Можно ли разумно загружать очень большие файлы или по частям через SSH из Linux в Windows?

Можно ли разумно загружать очень большие файлы или по частям через SSH из Linux в Windows?

У меня есть файл размером ~35 ГБ на удаленном сервере Linux Ubuntu. Локально я использую Windows XP, поэтому я подключаюсь к удаленному серверу Linux с помощью SSH (в частности, я использую программу Windows под названиемКлиент защищенной оболочки SSHверсия 3.3.2).

Хотя мое широкополосное интернет-соединение довольно хорошее, загрузка большого файла часто прерывается с Connection Lostсообщением об ошибке. Я не уверен, но думаю, что это происходит из-за того, что мое интернет-соединение, возможно, прерывается на секунду или две каждые несколько часов. Поскольку файл такой большой, его загрузка может занять от 4,5 до 5 часов, и, возможно, интернет-соединение прерывается на секунду или две в течение этого длительного времени. Я думаю, это потому, что я успешно загружал файлы такого размера, используя то же интернет-соединение и то же программное обеспечение SSH на том же компьютере. Другими словами, иногда мне везет, и загрузка завершается до того, как интернет-соединение прерывается на секунду.

Есть ли какой-либо способ загрузить файл интеллектуальным способом, при котором операционная система или программное обеспечение «знают», где остановились, и могут возобновить загрузку с последней точки в случае обрыва интернет-соединения?

Возможно ли загрузить файл по частям? Хотя я не знаю, смогу ли я удобно разбить свой файл на несколько файлов -- я думаю, что это будет очень сложно, так как файл двоичный и нечитаемый человеком.

На данный момент, если загрузка всего файла объемом ~35 ГБ не завершится до разрыва соединения, мне придется начинать загрузку заново и перезаписывать фрагмент объемом ~5–20 ГБ, который был загружен локально.

Есть ли у вас какие-нибудь советы? Спасибо.

решение1

Моим «правильным» решением было бы найти и устранить причину проблемы, но эти вещи могут сработать в качестве обходных путей:

  1. используйте split (man split -- разделить файл на части). Кажется, он установлен в большинстве систем unix.
  2. Разделите файл с помощью dd (dd if=inputfilename of=file_part0 skip=0 bs=500MB). (повторите с skip=1 и другим именем файла.)
  3. Используйте программу, которая может возобновить загрузку. FTP подойдет (но фууу. Пароли в виде простого текста, раздельное управление и подключение к данным, которые несовместимы с большинством брандмауэров)
  4. Обмануть и переместить файл в веб-каталог. Большинство браузеров поддерживают возобновление загрузки,

решение2

Я использовал rsync --partialCygwin на Windows. Работает отлично.

решение3

Theпротокол bittorrentхорошо справится с этой задачей, хотя это может быть не так просто в настройке.

решение4

Вы могли бырасколотьфайл на более мелкие части, а затем собрать их заново на другом конце. В качестве альтернативы, если у вас запущен демон FTP или HTTP, вы должны иметь возможность запустить загрузку через демон, оба из которых обычно поддерживают возобновление загрузки.

Связанный контент