2011-02-09 14 views

Odpowiedz

192

Spróbuj następujący parametr:

-nc, --no-clobber: Przejście do pobrania, które pobrać do istniejących plików.

wykorzystanie próbki:

wget -nc http://example.com/pic.png 
+16

'-nc' nie uniemożliwia wysłania żądania HTTP, a następnie pobrania pliku. Po pobraniu pliku nie robi nic, jeśli plik został już w pełni pobrany. Czy mimo to nie można wykonać żądania HTTP, jeśli plik już istnieje? http://stackoverflow.com/questions/33203898/wget-skip-download-if-file-already-exists – ma11hew28

+5

Jak zauważyłem w połączonym pytaniu, nie zgadzam się - jeśli no-clobber jest używany, a nazwa pliku istnieje, to kończy. Brak nawet żądania HEAD. Nawet jeśli tak nie było, sprawdź, czy masz plik na początek :-) '[! -e "$ (basename $ URL)"] && wget $ URL' – plundra

+1

Myślę, że mogę uzyskać różne wyniki, ponieważ używam opcji '--recursive'. – ma11hew28

18

Przy uruchomieniu Wget z -r lub -p, ale bez -N, -nd lub -nc, ponowne pobranie pliku spowoduje nowa kopia po prostu nadpisuje starą.

Dodanie -nc zapobiegnie temu zjawisku, zamiast tego spowoduje zachowanie oryginalnej wersji i zignorowanie wszelkich nowszych kopii na serwerze.

See more info at GNU.

134

Opcja -nc, --no-clobber nie jest najlepszym rozwiązaniem, ponieważ nowsze pliki nie zostaną pobrane. Należy używać -N zamiast która pobierze i zastąpić plik tylko wtedy, gdy serwer ma nowszą wersję, więc poprawną odpowiedzią jest:

wget -N http://www.example.com/images/misc/pic.png 

Następnie uruchomieniu Wget z -n, z lub bez -r lub -p, decyzja, czy pobrać nowszą kopię pliku, zależy od lokalnego i zdalnego znacznika czasu i rozmiaru pliku. -nc nie może być określona w tym samym czasie jak - N.

-N, --timestamping: Włącz raz-tłoczącej.

+26

Gdy serwer nie jest poprawnie skonfigurowany '-N' może się nie udać, a wget zawsze będzie ponownie pobierany. Tak więc czasami '-nc' jest lepszym rozwiązaniem. – user

+1

jaki może być odpowiedni scenariusz, w którym wystąpiłby błąd "Kiedy serwer nie jest skonfigurowany prawidłowo"? – AjayKumarBasuthkar

+0

podczas pobierania z lokalizacji, która została skopiowana, zmieniając wszystkie znaczniki czasu. – Robert

Powiązane problemy