To jest najprostszy przykład uruchamiania wget:
wget http://www.example.com/images/misc/pic.png
ale jak sprawić, by wget pomijał pobieranie, jeśli pic.pngjest już dostępny?
To jest najprostszy przykład uruchamiania wget:
wget http://www.example.com/images/misc/pic.png
ale jak sprawić, by wget pomijał pobieranie, jeśli pic.pngjest już dostępny?
Odpowiedzi:
Wypróbuj następujący parametr:
-nc,--no-clobber: pomiń pobieranie, które pobierałoby do istniejących plików.
Przykładowe użycie:
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursiveopcji.
-nc, --no-clobberOpcja ta nie jest najlepszym rozwiązaniem, ponieważ nowe pliki nie zostaną pobrane. -NZamiast tego należy użyć, który pobierze i nadpisze plik tylko wtedy, gdy serwer ma nowszą wersję, więc poprawna odpowiedź to:
wget -N http://www.example.com/images/misc/pic.png
Następnie uruchomienie Wget z opcją -N, z lub bez
-rlub-p, decyzja o tym, czy pobrać nowszą kopię pliku, zależy od lokalnego i zdalnego znacznika czasu i wielkości pliku.-ncnie można podać w tym samym czasie co-N.
-N,--timestamping: Włącz oznaczanie czasu.
-Nmoże się nie powieść, a wget zawsze pobierze ponownie. Więc czasami -ncjest lepsze rozwiązanie.
wgetbędzie narzekał Last-modified header missing; jest to dokładnie nakreślona sytuacja.
Podczas uruchamiania Wget z -rlub -p, ale bez -N, -ndlub -nc, ponowne pobranie pliku spowoduje, że nowa kopia po prostu nadpisze stary.
Tak więc dodanie -nczapobiegnie takiemu zachowaniu, zamiast tego spowoduje zachowanie oryginalnej wersji i zignorowanie wszelkich nowszych kopii na serwerze.
Odpowiedź, której szukałem, to https://unix.stackexchange.com/a/9557/114862 .
Użycie
-cflagi, gdy plik lokalny ma większy lub równy rozmiar od wersji serwera, pozwoli uniknąć ponownego pobierania.
wget -i filelist.txt -cwznowi nieudane pobieranie listy plików.
-ncnie uniemożliwia wysłania żądania HTTP i późniejszego pobrania pliku. Po prostu nie robi nic po pobraniu pliku, jeśli plik został już w pełni pobrany. Czy istnieje sposób, aby zapobiec wysyłaniu żądania HTTP, jeśli plik już istnieje? stackoverflow.com/questions/33203898/...