sonnenblen.de - Das unabhängige Sun User Forum

Allgemein => Allgemeines => Thema gestartet von: Freud-Schiller am 13. März 2007, 10:51:24

Titel: einen wget task wieder auf nehmen
Beitrag von: Freud-Schiller am 13. März 2007, 10:51:24
Hi Leute, leider bricht ein wget task so nach 40h bei mir ab. wie bringe ich wget dazu, die schon vorhandenen ergebnisse zu nutzen und nur neue bzw unvollständige daten zu laden, nicht aber die schon vorhandenen zu über schreiben? Gruß und vielen Dank David
Titel: Re: einen wget task wieder auf nehmen
Beitrag von: justus2k am 13. März 2007, 11:36:46
Hi Freud-Schiller,

laut manpage geht das mit
wget -c

Gruss
Justus2k
Titel: Re: einen wget task wieder auf nehmen
Beitrag von: mdjr am 13. März 2007, 18:40:18
Hi Leute, leider bricht ein wget task so nach 40h bei mir ab. wie bringe ich wget dazu, die schon vorhandenen ergebnisse zu nutzen und nur neue bzw unvollständige daten zu laden, nicht aber die schon vorhandenen zu über schreiben? Gruß und vielen Dank David
Hi Freud-Schiller,

laut manpage geht das mit
wget -c

Gruss
Justus2k

Hinweis dazu: Das ganze muss auch vom Server unterstützt werden. Ältere Server unterstützen die Wiederaufnahme einer abgebrochenen Verbindung nicht.

Martin
Titel: Re: einen wget task wieder auf nehmen
Beitrag von: Freud-Schiller am 14. März 2007, 22:02:41
Danke Justus und Martin, ich habe mich bei dem Thema aber scheinbar schlecht ausgedrückt. Also ;-) mal angenommen, jemand läd das FEH von SUN runter, so min ~ 10000 Dateien... Dann passiert nach einiger Zeit folgendes:

6000 Dateien sind da, alles kleine html Dateien, kein Thema.
Datei 6001 ist ein PDF und weils nach Down Under eben nicht immer schnell geht, bricht die Verbindung ab.
Dateien 6002-10000 sind wieder html Dateien und laufen alle durch.

Ich HÄTTE jetzt gerne, daß eben diese unvollständigen Dateien komplettiert werden und schon fertige Dateien einfach ignoriert werden.

Also praktisch ne Prüfung mit Korrektur drüber läuft.

Nach dem Lesen der MAN Page komme ich eher zu der ANNAHME, daß der Parameter "-c" für einzele große Dateien gedacht ist. Oder??
Titel: Re: einen wget task wieder auf nehmen
Beitrag von: mdjr am 15. März 2007, 05:51:58
Nach dem Lesen der MAN Page komme ich eher zu der ANNAHME, daß der Parameter "-c" für einzele große Dateien gedacht ist. Oder??

Richtig.

Ich kenne wget nur so, dass man damit eine einzelne Datei runterläd und ging daher davon aus, dass du eine einzelne riesen Datei (z.B. DVD-Image) herunterladen willst.

Welche Befehlszeile nutzt du denn genau dazu und ggf. welche lokalen Dateien (z.B. Liste von Dateien auf dem Server), um den wget-Task zu starten?

Martin

Titel: Re: einen wget task wieder auf nehmen
Beitrag von: Freud-Schiller am 15. März 2007, 08:59:56
Hi Martin,
also ich nutze folgende Zeile: "wget -k -K -l 10 -r www.sun*****.org" damit sollte auch klar sein, daß ich viele kleine dateien und einige große lade. zur zeit sind es ca. 900mb beim ~40000 dateien. ich habe auch versucht paralelle zugriffe aufzubauen, jedoch funktioniert "-paralell 5" leider nicht als parameter ^^ :(

insgesamt schätze ich, daß ca. 100 dateien nicht richtig geladen worden sind. diese würde ich gerne zuende laden lassen...

Gruß David
Titel: Re: einen wget task wieder auf nehmen
Beitrag von: Ten Little Indyans am 15. März 2007, 16:08:06
Ich HÄTTE jetzt gerne, daß eben diese unvollständigen Dateien komplettiert werden und schon fertige Dateien einfach ignoriert werden.

Für letzteres gibt es die Option --no-clobber (bzw. -nc). Die verwende ich grundsätzlich, um zu verhindern dass wget mir was überbügelt wenn aus den Dateien die ich gerade lade auf etwas verlinkt wird was bereits vorhanden ist.

Das alleine bringt Dir aber nichts, da ja auch die unvollständigen Dateien "vorhanden" sind und somit nicht nochmal angefasst werden.

Weisst Du denn welche Dateien unvollständig sind? Dann kannst Du mal folgendes probieren:

for i in $(cat liste_fehlender_dateien.txt); do
    wget -c -x $i
done

Wenn Du z.B. meinst alle PDFs neu laden zu wollen:

find www.sun*****.org -name \*.pdf -print | sed 's/^/http:\/\//' > liste_fehlender_dateien.txt
Gruß,
Andrew.