Tak, to jest -c
opcja.
--continue
Continue getting a partially-downloaded file. This is useful when you want to
finish up a download started by a previous instance of Wget, or by another
program.
Jeśli plik jest taki sam, druga próba pobierania zostanie zatrzymana.
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
Saving to: ‘logo.png’
...
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
The file is already fully retrieved; nothing to do.
Ostrzeżenia (od komentarzy Jofela)
Jeśli plik zmienił się na serwerze, -c
opcja może dawać nieprawidłowe wyniki.
Z -c
, wget po prostu prosi serwer o wszelkie dane poza częścią już pobranego pliku, nic więcej. Nie sprawdza, czy nastąpiła zmiana w części pliku, który jest już pobrany. W ten sposób możesz uszkodzić plik, który jest mieszanką starego i nowego pliku.
Test lokalny
Można go przetestować uruchamiając prosty lokalnego serwera WWW w następujący sposób (dzięki @roadmr „s odpowiedź ):
Otwórz okna terminala i wpisz:
cd /path/to/parent-download-dir/
python -m SimpleHTTPServer
Teraz otwórz kolejny terminal i wykonaj:
wget -c http://localhost:8000/filename-to-download
Pamiętaj, że filename-to-download
jest to plik, w /path/to/parent-download-dir/
którym się znajduje, w którym chcemy go pobrać.
Teraz, jeśli uruchomisz polecenie wget wiele razy, zobaczysz:
The file is already fully retrieved; nothing to do.
Ok, teraz przejdź do /path/to/parent-download-dir/
katalogu i dodaj coś do pliku źródłowego, na przykład jeśli jest to plik tekstowy, dodaj do niego prostą dodatkową linię i zapisz plik. Teraz spróbuj z wget -c ...
. Świetnie, teraz zobaczysz, że plik ponownie się pobiera, ale już go wcześniej pobrałeś.
Powód: dlaczego ponowne pobieranie?
ponieważ jego rozmiar zmienił się na większy niż stary pobrany plik i nic więcej.