Hlavní navigace

Jak nejlépe mirrorovat weby

Občas je potřeba z nejrůznějších důvodů stáhnout obsah nějakého webu z Internetu na lokální počítač. Prográmků, které toto umožňují existuje celá řada, podívejme se dnes na jeden z nich. (Pro ostřílené linuxové matadory to není žádná novinka, ale dobré věci zajisté neuškodí, občas ji připomenout.)
Martin Patka 6. 4. 1999
Doba čtení: 2 minuty

Sdílet

Pro přenos celých adresářů mezi servery jsem jeden čas zkoušel script mirror, ale nedokázal jsem jej doladit tak, aby mi vyhovoval. Proto jsem začal používat program Wget. S parametrem -m se z něj stává ideální nástroj pro noční mirrorování FTP adresářů. Wget však umí mirrorovat i WWW stránky. Díky této vlastnosti je možno jej použít i k off-line brouzdání. Program Wget automaticky navazuje, když vypadne spojení, pokud to zdrojový server podporuje (NT to bohužel nepodporují).

Nejzákladnější použití je na příkazový řádek napsat:

wget URL1 URL2 …

URL může být i v těchto formách:

ftp://host[:por­t]/path
ftp://user:pas­sword@host/path
http://user:pas­sword@host/path


Takže ho lze používat i na neanonymních FTP a na privátních WWW stránkách.

Některé možnosti programu wget:

wget -r –tries=10 http://fly.cc­.fer.hr/ -o log
stáhne rekurzívně všechno z fly.cc.fer.hr, v případě chyb 10× vyzkouší každý soubor a zapíše výsledný log.

wget -i FILE
soubor FILE může být normální textový soubor se seznamem URL oddělených mezerou nebo novým řádkem, ale může to být i libovolný HTML soubor, ze kterého si program wget „vytáhne“ všechny odkazy a ty stáhne. Soubor FILE může dokonce být i součástí URL – např. wget -i http://www.ne­co.cz/index.html

wget -N URL
Stáhne URL pouze pokud datum poslední modifikace je novější, než datum u souboru, ktery už je „doma“.

wget -r URL
Rekurze – rozlišuje http-URL a ftp-URL. Http-URL stáhne rekuzivně podle odkazů a ftp-URL podle adresářů. Podle původního nastavení stahuje do hloubky 5. To se dá změnit nastavením -l. Takže wget -rl 2 URL stáhne rekuzivně pouze další úroveň.

wget -m URL
Mirror – je to totožné s wget -rN URL, tj. rekurzivně stáhne všechno co je novější ze zadaného URL.

Program wget toho ale umí daleko více, např. se při stahování dají vyloučit odkazy na různé typy souborů, nebo domény atd.