4

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

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

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

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

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

Есть ли у вас какие-либо рекомендации? Благодарю.

5 ответов5

2

Я думаю, что это разумно (и просто) использовать старый и старый WinSCP

http://winscp.net/eng/docs/resume

2

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

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

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

1

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

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .