Dies ist das einfachste Beispiel für die Ausführung von wget:
wget http://www.example.com/images/misc/pic.png
aber wie macht man wget überspringen download wenn pic.pnges schon verfügbar ist?
Dies ist das einfachste Beispiel für die Ausführung von wget:
wget http://www.example.com/images/misc/pic.png
aber wie macht man wget überspringen download wenn pic.pnges schon verfügbar ist?
Antworten:
Versuchen Sie den folgenden Parameter:
-nc,--no-clobber: Downloads überspringen, die in vorhandene Dateien heruntergeladen werden.
Beispielnutzung:
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursiveOption verwende.
Die -nc, --no-clobberOption ist nicht die beste Lösung , wenn neuere Dateien nicht heruntergeladen werden. Man sollte -Nstattdessen verwenden, wodurch die Datei nur heruntergeladen und überschrieben wird, wenn der Server eine neuere Version hat. Die richtige Antwort lautet also:
wget -N http://www.example.com/images/misc/pic.png
Wenn Sie dann Wget mit -N ausführen, mit oder ohne
-roder-p, hängt die Entscheidung, ob eine neuere Kopie einer Datei heruntergeladen werden soll oder nicht, vom lokalen und Remote-Zeitstempel und der Größe der Datei ab.-ncdarf nicht gleichzeitig mit angegeben werden-N.
-N,--timestamping: Zeitstempel einschalten.
-Nkann dies zu einem Ausfall führen und wget wird immer wieder heruntergeladen. Also manchmal -ncist bessere Lösung.
wgetwird er sich beschweren Last-modified header missing. Dies ist genau die beschriebene Situation.
Bei der Ausführung von Wget mit -roder -paber ohne -N, -ndoder -nc, Wieder Herunterladen einer Datei wird in die neue Kopie führen einfach die alte überschrieben werden .
Durch Hinzufügen -ncwird dieses Verhalten verhindert, und stattdessen wird die Originalversion beibehalten und neuere Kopien auf dem Server werden ignoriert.
Die Antwort, nach der ich gesucht habe, ist https://unix.stackexchange.com/a/9557/114862 .
Wenn Sie das
-cFlag verwenden, wenn die lokale Datei größer oder gleich groß wie die Serverversion ist, wird ein erneutes Herunterladen vermieden.
wget -i filelist.txt -csetzt einen fehlgeschlagenen Download einer Liste von Dateien fort.
-ncverhindert nicht das Senden der HTTP-Anfrage und das anschließende Herunterladen der Datei. Nach dem Herunterladen der Datei wird einfach nichts unternommen, wenn die Datei bereits vollständig abgerufen wurde. Gibt es eine Möglichkeit, die HTTP-Anforderung zu verhindern, wenn die Datei bereits vorhanden ist? stackoverflow.com/questions/33203898/…