Не вдалося завантажити завантаження за допомогою інструмента командного рядка Linux


37

Як відновити частково завантажений файл за допомогою інструмента командного рядка Linux?

Я частково завантажив великий файл, тобто 400 МБ із 900 МБ через перерву живлення, але коли я знову починаю завантажувати, він відновлюється з нуля. Як почати з самого 400 Мб?


5
Який командний рядок ви в першу чергу використовували для завантаження файлу?
Антон

3
Будь ласка, не відповідайте у коментарі, оновіть своє неповне запитання .
Антон

1
Якщо ви користуєтесь curl, вам слід шукати параметр на сторінці чоловіка -C.
HalosGhost

Відповіді:


53

Оскільки ви не вказали, я припускаю, що ви використовуєте wgetдля завантаження файлу. Якщо це так, спробуйте використовувати його з -cопцією (наприклад wget -c <URL>).

Зауважте, що у випадку, якщо використаний протокол є ftp (URL виглядає так ftp://...), є шанс, що віддалений сервер використовує старий / древній демон FTP, який не підтримує відновлення завантаження (нові ftp демони все одно підтримують його більше десятиліття , тож це лише невеликий шанс). Якщо це так, то, можливо, вам не пощастить. З іншого боку, у вас не повинно виникнути проблем, якщо використаний протокол http. (ОНОВЛЕННЯ: За даними інших експертів (включаючи Жилла в коментарях нижче), відновлення під час використання http також підлягає підтримці сервера, тому це стосується і ftp, і http).

Удачі.


5
Завантаження HTTP можна відновити лише у тому випадку, якщо сервер його підтримує, і це рідше, ніж на FTP-серверах.
Жил 'SO- перестань бути злим'

Дякую, Жилле, у мене був лише хороший досвід відновлення роботи під час використання http, але ти, мабуть, маєш рацію, і мені пощастило. Оновить мою відповідь.
Марсело

wget -c http:...опрацював 3 або 4 сервери, на яких я спробував.
Боб Штейн

Бог благословить тебе людину!
учень

3
@Gilles: Насправді, це зараз поширена опція для будь-якого статичного вмісту з серверів, новіших за ~ 2010 р. (Іншими словами, більшість серверів за замовчуванням дозволяє запити діапазону для статичних файлів). Для динамічно генерованих даних це дійсно рідко.
Пісквор

0

Я знаю, що означає оригінальне запитання, а відповідь не wget -c ...

Сценарій можна описати так:

# Start mirroring a site
wget -m http://...
# 400MB later wget died or interrupted,
# don't know where it left off, don't care,
# just want to get the remaining 100MB without getting the first 400MB again
wget -nc -r -l inf --no-remove-listing http://...

Параметри "-r -l inf --no-remove-listing" еквівалентно -m без параметра -N. Додаючи параметр -nc, уникайте збереження перших 400 МБ вже на вашому жорсткому диску.

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