Kad bi trebali pronaći neki domaći program koji je ostavio najviše traga u svijetu, a da je u open source domeni, vjerojatno ne bi pogriješili kad bi naveli Wget. Njegov autor je Hrvoje Nikšić, koji je još kao student zagrebačkog FER-a sredinom devedesetih za ondašnja Unix računala napravio program (originalnog imena Geturl) za download datoteka s Interneta. Vjerujemo da znamo njegovu tadašnju motivaciju: veze na Internet su bile više nego spore i morao je postojati neki način neinteraktivnog skidanja datoteka koji bi se mogao ostaviti da radi bez nadzora. Dizajniran je kao robustan alat za sporu i nestabilnu mrežu. Ako veza "pukne", Wget će pokušavati sve dok se ne skine cijela datoteka, a zna nastavljati gdje je u stao u prethodnom pokušaju. Pokreće se iz naredbenog retka, zna raditi u pozadini dok smo u nekom drugom programu, pa čak i kad nismo prijavljeni na sustav. Upravo ga zato možemo ostaviti preko noći da skida tempom koji njemu odgovara. Bez obzira na prvotnu namjenu, održao se i do danas, kad su veze neusporedivo brže i stabilnije. Dapače, postao je standardni alat Linux distribucija za skidanje datoteka s Interneta, a kao vlastitu komponentu koriste ga razni open source programi. Danas je to napredni download manager koji može osim jedne datoteke rekurzivno skidati cijele direktorije, pa i čitave siteove. Zato je pogodan za mirroring (spremanje identične preslike direktorija i datoteka) na lokalno računalo kao arhivu. Kao opcija može se navesti dubina direktorija do koje smije ići, kao i brojne druge opcije. Pri svakom prolasku provjerava da li lokalno postoji datoteka iste veličine, kako ju ne bi skidao bez potrebe, a također zna provjeravati i datum zadnje promjene, budući da veličina ne može biti precizan kriterij. Može mu se zadati da skida datoteke samo određenih nama zanimljivih ekstenzija. Radi jednako s HTTP i FTP serverima i odličan je backup alat. Podržava i pasivni način skidanja s FTP servera, što je korisno kad smo iza firewalla.
Korištenje
Iako postoje grafička sučelja, mi ćemo Wget uglavnom koristiti iz naredbenog
retka, jer tako ima najviše smisla. Opcija koje podržava ima zaista velik
broj, a kao kratki podsjetnik može nam služiti "wget --help" koji će ih ispisati
zajedno s njihovim kratkim objašnjenjem. Kao najosnovniji primjer korištenja
može biti pozivanje Wgeta samo s jednim parametrom, direktnim URL-om datoteke
koju želimo skinuti. Program će ispisati korake koje mora napraviti (odlično
za dijagnostiku) i početi skidati u trenutni direktorij iz kojeg smo ga pokrenuli.
Interaktivno će i ispisivati traku napretka (progress bar) kako bi vidjeli
koliki je dio datoteke skinut. Dodamo li mu opcije -t 5 -o logfile
,
tu će datoteku pokušati skidati maksimalno 5 puta, a informaciju o napretku
zapisivat će u "logfile" datoteku. Želimo li ga pokrenuti u pozadini, dodat
ćemo još i opciju -b (background). Imamo li u nekoj datoteci popis linkova
koji želimo skinuti, navest ćemo njeno ime s opcijom -i. Cijela naredba sad
bi mogla glasiti wget -i lista_linkova -o logfile -t 5 -b
Rekurzivni direktoriji
Pokrenemo li naredbu
wget -r -l2 --no-parent -A.html www.gnu.org
ona će rekurzivno skinuti stranice sa gnu.org, i to do dubine dva direktorija, te neće slijediti nikakve reference na druge stranice (no-parent opcija). Parametar -A kaže kako treba skinuti samo one datoteke s nastavkom html. Njemu komplementaran je -R koji govori koje datoteke ne želimo. Trebamo li kojim slučajem poslati i lozinku, to radimo na standardni način: http://user:[email protected]. Ako smo u strahu da ćemo povući previše datoteka (strah je pogotovo opravdan ako plaćamo za promet) možemo navesti opciju -Q (kvota) s brojem megabajta koje maksimalno želimo skinuti. Možemo također i ograničiti brzinu i to za npr. 5 kB/sek opcijom "--limit-rate=5k".
Kod skidanja datoteka, stvorit će se hijerarhija direktorija u obliku "www.url/direktorij", a ako to želimo spriječiti, možemo dodati opcije -nH za ime servera i -nd (direktorij). Ponekad je jako korisna opcija -k, koja će sve apsolutne linkove na skinutim stranicama pretvoriti u relativne kako bi ih normalno offline pregledavali. Jedna od praktičnih mogućnosti je -p, koja će osim konkretne html stranice sačuvati i sve elemente (slike itd.) koji ju sačinjavaju, dobivši isti efekt kao i "Save Page As..." u browseru.
Ogledalce, ogledace
Malo napredniji način "skidanja" nekog sitea za offline pregledavanje mogao bi se pisati i ovako:
wget --mirror -p -E -k -P /backupi www.site.com
Prva opcija objedinjuje rekurzivni poziv i opciju provjere zadnje promjene datoteke, kako bi se skidala samo novija verzija. Opcija -E nužna je kad s druge strane imamo dinamički web i skripte s nastavkom PHP, ASP, CGI ili slično, što nam na lokalnoj kopiji ništa ne pomaže. Ova će opcija sve preimenovati u HTML. Sve ćemo spremati u direktorij "backupi", što određujemo s -P.
Ove opcije pokrivaju samo jedan dio mogućnosti Wgeta. Za sve mogućnosti najbolje je pogledati u man ili info stranice ("info wget").