Linux naredbe i vještine školjke
wget: Downloader koji nikad ne spava
wget je curl za poslove koji se mjere u satima: ogledala, arhive, rekurzivna povlačenja i hronološke serije koje se izvode dok ih nitko ne gleda. Rekurzira, poštuje robots.txt, nastavlja prekinute prijenose prema zadanim postavkama i prilagođava se ograničenjima brzine i intervalima čekanja, što je uljudnost koju ostavlja pozivatelju. Podjela između dva alata je jasna: wget za masu i strpljenje, curl za preciznost, a tim koji poznaje oba rijetko treba trećeg instalatera.
Ključne točke
- Zrcaljenje je jedan redak: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; izostavi --no-parent i dokumentacijska arhiva tiho postaje puzanje svega što je iznad nje.
- Nastavite i pokušajte ponovno besplatno: wget -c odabire prekinuti prijenos unatrag, a --tries=10 --waitretry=5 nadmašuje poslužitelje koji štucaju usred skupa umjesto da zakažu posao pri prvom trzaju.
- Pristojnost ima zastavice: --limit-rate=200k, --wait=1, i --random-wait sprječava zrcalo da ne okida ograničenja uzvodne brzine ili klauzulu o zlouporabi dijeljenog poslužitelja; dijeljeno hosting plus unthrottled crawler je kratko prijateljstvo.
- robots.txt se poštuje prema zadanim postavkama; -e robots=off namjerno ga poništava, a korištenje tog nadjačavanja protiv nečije druge proizvodne stranice je način na koji se skupna preuzimanja pretvaraju u incidentne karte.
- wget -O /dev/null -nv https://host/health jednolinijska je sonda za nadgledanje čiji izlazni kodovi nose dijagnozu: 4 je greška mreže, 8 je pogreška poslužitelja, a oba pobjeđuju tihi cron.
- Konverzija je bitna nakon činjenice: --convert-links prepisuje zrcaljenu web-lokaciju za izvanmrežnu navigaciju, a --adjust-extension sprema stranice generirane CMS-om pod proširenja koja mogu poslužiti lokalni alati.
- Skupni poslovi u cron-u dobivaju zaključane datoteke, ili preklapajuća izvođenja upisuju jedni drugima u napola dovršene datoteke dok --waitretry tiho razvlači posao iza njegovog prozora; wget nema unutarnji mutex.
- Znajte granicu: obrasci, sesije s puno kolačića i krajnje točke API-ja pripadaju curl-u, a stranice izrađene JavaScriptom zrcale se kao prazne ljuske jer wget slijedi veze, a ne skripte.
Terenska bilješka
Jedno ogledalo bez --no-parenta zalutalo je preko noći u četrdeset gigabajta klijentove medijske biblioteke i gotovo napunilo disk. Oznake pristojnosti postavljaju se jednom i nakon toga kopiraju zauvijek.
Često postavljana pitanja
Zašto moje ogledalo sadrži samo jednu stranicu?
Oznake opsega obavile su posao koji je netko namjeravao poništiti: ograničenja datoteke robots.txt, --no-parent, ograničenje dubine ili web-lokacija koja se prikazuje JavaScriptom. wget slijedi veze koje može vidjeti; provjerite -o wget.log prije nego okrivite alat.
Kada trebam odabrati wget umjesto curl za jedno preuzimanje?
Za bilo što što se može nastaviti ili je cron-pouzdano: -c nastavak, ugrađeni ponovni pokušaji i vremensko žigosanje (--timestamping) čine wget izborom niske pozornosti; curl vam daje isto samo ako ga sami sastavite.
Je li legalno ili pristojno zrcaliti javno mjesto?
Vlasništvo odlučuje legalno, robots.txt i učitavanje odlučuju pristojno: poštujte datoteku robota, smanjite stopu nalik ljudskoj i dajte prednost službenom izvozu ili API-ju čim ga meta ponudi.
Zašto neka mjesta vraćaju 403 običnom wgetu?
Filtriranje korisničkog agenta, obično namjerno; --user-agent='Mozilla/5.0' vam pomaže, ali filtrirani 403 također znači da operater gleda, tako da je dijalog ili API bolji sljedeći korak.
Kako Kinetikatech pomaže kod linux naredbe i vještine školjke
Ovo smo rješavali stotine puta: Naredbe i navike skriptiranja koje odlučuju hoće li administrator upravljati poslužiteljem ili se boriti protiv njega: pretražujte, transformirajte, prenosite i nadzirite tekst i procese s alatima koji se nalaze u svakoj osnovnoj instalaciji. S Sigurnost Linux servera i Upravljanje serverima dobivate puni krug: procjenjujemo, implementiramo, nadziremo bez prestanka i interveniramo u 30 minuta kad je potrebno.