Я хотел бы загрузить свой резервный образ экземпляра Google Compute Engine, но он слишком велик для загрузки (более 900 МБ). Это файл tar.gz.

Однако проблема в том, что я сейчас в Китае, а GCP заблокирован. Поэтому я должен использовать VPN.

Однако VPN работает медленно и нестабильно, поэтому я не могу загрузить такой большой объем данных. Всякий раз, когда я пытался загрузить его, загрузка никогда не завершалась, пока она не была остановлена и в конечном итоге не выполнялась в разгар большого объема загрузки. Я использую Google Chrome, чтобы загрузить его.

Поскольку загрузка работала до момента сбоя (скажем, 428/932 МБ), может быть возможно загрузить его, если вы сможете возобновить его снова или разделить объем загруженного тома.

Можно ли загрузить его, разделив количество загруженного содержимого, чтобы избежать сбоя?

2 ответа2

0

Такие программы, как curl или wget имеют параметры --continue (wget) и --continue-at (curl), которые позволяют возобновлять прерванные загрузки, если данные не были повреждены.

wget по умолчанию автоматически попытается возобновить загрузку, когда произойдет прерывание, поэтому вам не придется беспокоиться о нестабильной передаче.

Опция curl --continue-at обычно требует числового значения, но если вы передадите его - вместо числа, он будет использовать свой выходной файл, чтобы определить, с какой точки он должен начать загрузку.

Пример использования (от man wget) wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z , curl ftp://sunsite.doc.ic.ac.uk/ls-lR.Z -o myfile.Z --continue-at -

Если вам нужно использовать некоторые конкретные файлы cookie, заголовки, отправку данных POST или что-либо еще для получения файла, современные браузеры (через панель инструментов разработчика, например, F12) позволяют вам скопировать команду запроса curl которую можно использовать для доступа к этому ресурсу. (см. изображения)

Fire Fox:

Хром:

Просто скопируйте это как curl а затем вставьте в консоль, добавив соответствующие флаги. Если команда не выполнена, вы можете просто вызвать curl еще раз (куки могут быть признаны недействительными, поэтому вам может потребоваться запросить в браузере новую команду curl ) и продолжить загрузку.

Это может показаться сложным процессом получения команды, но он очень универсален - можно загружать почти все виды материалов, которые вы просматриваете в браузере, с помощью команды curl предоставляемой браузером, возможно угадывая следующие ссылки 1 и вставляя вывод вместе.


1 Книга может быть загружена таким образом, что вы загружаете не весь PDF по одному запросу, а страницу за страницей, каждая по разному адресу. Поэтому вам нужно отправить запрос на www.example.com/page1.pdf , www.example.com/page2.pdf и www.example.com/page3.pdf , чтобы получить три страницы.
Некоторые видеопотоки не отправляют видео по одному запросу, но требуют, чтобы клиент спрашивал о каждом сегменте видео отдельно.
В обоих случаях механизм прост: угадать следующий шаблон генерации ссылок, запросить все ссылки и затем "объединить" (в зависимости от типа файла) выходные данные.

0

Во-первых, вы можете сжать файл 7Zip, сжатие которого намного лучше, чем gzip, чтобы уменьшить размер загружаемого файла.

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

Не зная операционной системы, которую вы используете для загрузки, вот некоторые менеджеры загрузки, которые доступны на всех платформах:

Более очень хорошие менеджеры загрузки доступны, если вы используете Windows.

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