Personal tools
You are here: Home Návody Downloadovanie na server pomocou príkazu wget
Document Actions

Downloadovanie na server pomocou príkazu wget

by smatana last modified 2006-06-15 11:55

Pomocou tohoto postupu si môžete uľahčiť sťahovanie väčších súborov tým, že download neprebieha medzi vaším PC a vzdialenou stránkou, ale medzi naším serverom a vzdialenou stránkou. Medzi serverom a vami to už potom pôjde intranetom, čiže vyššou rýchlosťou. Súčasne sa tým šetrí konektivita, lebo sa nemusia opakovať prenosy kvôli prípadným výpadkom na wi-fi sieti. Musíte však mať shell konto na serveri.

  1. Pomocou programu putty sa prihláste na server
  2. Príkazom cd public_html sa dostanete do svojho adresára public_html, (tento je prístupný aj ostatným členom siete)
  3. Skopírujte si do clipboardu URL súboru, ktorý chcete stiahnuť na server
  4. Zadajte príkaz wget a kliknutím na pravé ucho myši vložte URL. Výsledok by mal vyzerať takto: wget http://semprideurltohocochcetestiahnut.zip
  5. Takto stiahnuté súbory budú dostupné na adrese http://intranet.e-region.net/~user/semprideurltohocochcetestiahnut
  6. Ak sa preruší sťahovanie, možno ho obnoviť príkazom wget s parametrom -c: wget -c http://sempride...
  7. Prerušiť sťahovanie možno stlačením Ctrl+C (nie zatvorením okna).
Sťahovanie prebieha rýchlosťou, ktorú má používateľ pridelenú.
Odporúčame vykonávať rozsiahlejšie downloady počas víkendu, kedy neplatíme za prenesené megabajty. Po dohode s administrátorom je možné aj vypnutie shapera (programu, ktorý limituje prenosy každému používateľovi na základe toho, akú výšku členského uhrádza).
Prípadné ďalšie presúvanie stiahnutého súbora do iného adresára na serveri je samozrejme vhodnejšie robiť pomocou Midnight Commandera priamo na serveri, nie pomocou Total Commandera alebo WinSCP na svojom počítači (zbytočné prenosy po vnútornej sieti). Midnight Commander na serveri sa spúšťa príkazom mc.

Podrobný český návod na použitie wget som našiel na adrese http://www.cetoraz.info/pavel/index.shtml?x=1355&all_ids=1
a pre istotu ho sem skopírujem. (Autore, vďaka.)

wget - stahujme kvalitně - Podrobný návod s příklady

wget je jedna z nejužitečnějších utilit, kterou lze v GNU utilitách nalézt. Jejím určením je jednoduché stahování souborů, stránek i celých mirrorů z internetu. Pro svou oblibu byl portován na spoustu operačních systémů - tedy i na windows (nativní win32).

Seznámení

wget je konzolová aplikace a jako taková se i používá - jednoduše, s pár příkazy, získáváme obrovskou sílu při stahování. Samozřejmě existují grafické klikací nástavby, ale konzole je konzole :-)

Jako takový má wget asi 100 příkazů ;-) což je docela problém, ale lze vybrat z nich ty nejpoužívanější a nejpraktičtější. O to se posnažím i já zde.

Základní použití

wget http://www.example.org
Nejzákladnější použití - stáhne se index.html (popř. ten soubor, který se vrací na /)
wget ftp://ftp.linux.cz/pub/ROADMAP.html
Stáhne soubor ROADMAP.html pomocí protokolu ftp.

Příkazy jednoduché

wget -i soubor
Pokud máte spoustu odkazů, které chcete stáhnout, je jednodušší si je uložit do souboru a tímto příkazem říct, že se má stahovat to, co je napsáno v tomto souboru.
wget -c ftp://ftp.linux.cz/pub/ROADMAP.html
Příkaz -c říká wgetu, že má navázat stahování souboru po přerušení. Soubor se tedy nestahuje celý znovu, ale stahování se napojí na již existující část.
wget --http-user=jmeno --http-password=heslo http://www.example.org/
Příkazy --http-user a --http-password zasílají jméno a heslo pro přihlášení přes http-autentifikaci.
wget --referer=http://www.example.org/ http://www.example.org/image.gif
Příkaz --referer umožňuje poslat v hlavičce položku refereru, tedy adresu stránky, ze které se dostal prohlížeč na požadovanou stránku. Je to výhodné, pokud server sleduje referery pro blokování hot-linkingu.
wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; rv:1.7.3) Gecko/20040911 Firefox/0.10" http://www.example.org
Parametr --user-agent (zkráceně -U) je samovysvětlující - posílá určeného user-agenta serveru, výhodné pro stahování např. celého webu, někdy se user-agent testuje (a Wget/1.9 jasně říká, že jde o stahovač :-)
wget --limit-rate=hodnota http://www.example.org
Velmi užitečná volba --limit-rate nastavuje maximální hodnotu rychlosti, jakou se bude stahovat. Vhodné pro zpomalení stahování na přetížených komunitních sítích, ale i pro dial-upisty. Hodnoty jsou v bajtech za sekundu, pokud chceme limitovat na kilobajty, stačí použít volbu např. takto --limit-rate=30k, čímž se nastaví limit na 30kb/s. Je dost možné, že váš wget tuto volbu mít nebude, můj z Fedora Core ve verzi GNU Wget 1.9+cvs-stable (Red Hat modified) jí má.

Příkazy komplexnější

wget -r -l 1 -k http://www.example.org/
Nastavení rekurzivního stahování (-r) s maximální hloubkou stahování (-l 1, kde 1 znamená, že se stáhne vše do 1. úrovně ze stránky, kdyby byla úroveň nastavena na 2, stáhne se vše, co je v první úrovni plus to, na co první úroveň odkazuje) s převodem odkazů pro lokální prohlížení (-k).
wget -r -l 2 -nd http://www.example.org/
Nastavení rekurzivního stahování (-r) s maximální hloubkou stahování (-l 2), ale bez tvorby adresářové struktury (-nd), všechny soubory jsou tedy uloženy do aktuálního adresáře. Možná je vhodná chvíle říct ještě několik příkazů pro práci s adresářovou strukturou a pro rekurzivní stahování:
-nH
nevytvoří se adresář se jménem serveru (zde tedy adresář www.example.org/ v aktuálním adesáři
--cut-dirs=číslo
Odřízne adresářovou strukturu. Předchozí příkaz zruší adresář se jménem serveru, tento příkaz z leva odřezává názvy adresářů, pokud použijeme např. wget -r -l 2 -nH --cut-dirs=2 http://www.example.org/dir1/dir2/dir3, pak se vytvoří pouze adresář dir3/.
-P adresář
Nastaví adresář, do kterého se budou stažené soubory ukládat. Defaultně je to "." - aktuální adresář.
-k (--convert-links)
Slouží pro převod odkazů v souborech, aby odkazovaly na lokální soubory, a byly vhodné pro off-line prohlížení.
-L
Stahuje pouze relativní odkazy.
-np
Stahuje pouze soubory, které jsou v adresářové struktuře na serveru hlouběji než specifikovaná adresa.
wget -r -l 2 -nc http://www.example.org/
Volba -nc (--no-clobber) má výhodné použití, pokud se přerušilo stahování např. celé web stránky. Bez tohoto parametru wget stahuje všechny soubory znovu, pokud nalezne již existující soubor, vytvoří nový s příponou o jednu větší, než je existující soubor (soubor, který již je stažen, má pořadové číslo 0, které se nezobrazuje, podruhé stažen má příponu .1, pak .2 atd.). S tímto příkazem se wget chová tak, že již stažené soubory ignoruje (pozor - nemusí být kompletní, ale přesto je ignoruje!).
wget -p http://www.example.org/
Volba -p říká wgetu, že má stáhnout stránku (v tomto případě to je index.html z http://www.example.org) a to se všemi soubory, které jsou nezbytné pro zobrazení stránky - obrázky, CSS soubory. Lze samozřejmě kombinovat i s rekurzivním stahováním.
wget -m http://www.example.org/
Příkaz -m slouží pro mirrorování celých webů. Tímto příkazem se nastaví tyto volby: -r -N -l inf -nr, tedy rekurzivní stahování (-r), nastavení timestampů souboru, aby souhlasil s tím na serveru (-N), nekonečnou hloubku stahování (-l inf).
wget -A pdf -r -l 1 http://www.magtypo.cz
A zde bych rád ukázal velmi užitečný příkaz -A a -R. Příkaz -A pripona1,pripona2,... říká, že se mají stáhnout pouze soubory s určenou příponou. V našem příkladu chceme stáhnout časopisy Typo v PDF formátu, které tam jsou volně ke stažení. Vždy je však stažen soubor index.html (nebo ten, na který ukazujete), aby bylo možné zjistit, které soubory se mají stahovat. Opačným příkazem je -R pripona1,pripona2,..., který naopak říká, že soubory s touto příponou se stahovat nemají.
wget -w 10 --random-wait -m http://www.example.org/
Při stahování třeba celého mirroru se může hodit nastavit náhodné časy přístupů na server, protože některé to mohou testovat a přístup zakázat. Příkazem -w čekání se nastavuje čas v sekundách a --random-wait říká, že čas mezi přístupy bude z intervalu 0 až 2*čekání.

Závěrem

Doufám, že tento návod pomůže ke kvalitnějšímu a radostnějšímu přesunu obsahu Internetu na vaše stagigabajtové disky :-)

Vycházel jsem ze svých zkušeností z používání wgetu, dále také z manuálu, manuálové stránky programu a také wget --help. Rozhodně doporučuji podrobnější prozkoumání manuálu, protože jsem např. víceméně vynechal práci s FTP.



« March 2010 »
Su Mo Tu We Th Fr Sa
123456
78910111213
14151617181920
21222324252627
28293031
 

Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: