Hlavní navigace

Jak nejlépe mirrorovat weby

Martin Patka

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.)

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.

Našli jste v článku chybu?