Ukazi in spretnosti lupine Linux
wget: prenosnik, ki nikoli ne spi
wget je curl za opravila, merjena v urah: ogledala, arhivi, rekurzivni vleki in serije cron, ki se izvajajo, medtem ko nihče ne gleda. Ponavlja se, spoštuje robots.txt, privzeto nadaljuje prekinjene prenose in se prilagaja omejitvam hitrosti in čakalnim intervalom, kar je vljudnost, ki jo prepusti klicatelju. Razdelitev med obema orodjema je čista: wget za količino in potrpežljivost, curl za natančnost in ekipa, ki pozna oboje, le redko potrebuje tretjega namestitvenega programa.
Ključne točke
- Zrcaljenje je ena vrstica: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; omit --no-parent in dokumentacijski arhiv tiho postane pajkanje vsega nad njim.
- Brezplačno nadaljujte in znova poskusite: wget -c izbere prekinjen prenos nazaj, in --tries=10 --waitretry=5 prežene strežnike, ki kolcajo sredi množičnega prenosa, namesto da bi delo spodletelo ob prvem trzaju.
- Vljudnost ima zastavice: --limit-rate=200k, --wait=1 in --random-wait preprečuje, da bi zrcalo sprožilo omejitve hitrosti navzgor ali klavzulo o zlorabi skupnega strežnika; deljeno gostovanje in pajek brez obremenitve je kratko prijateljstvo.
- robots.txt je privzeto upoštevan; -e robots=off ga namerno preglasi in uporaba te preglasitve proti produkcijskemu mestu nekoga drugega je način, kako se množični prenosi spremenijo v prijave za incidente.
- wget -O /dev/null -nv https://host/health je enovrstična nadzorna sonda, katere izhodne kode vsebujejo diagnozo: 4 je napaka omrežja, 8 je napaka strežnika in oboje premaga tihi kron.
- Pretvorba je pomembna po dejstvu: --convert-links prepiše zrcaljeno spletno mesto za navigacijo brez povezave, --adjust-extension pa shrani strani, ustvarjene s CMS, pod razširitvami, ki jih lahko uporabljajo lokalna orodja.
- Množična opravila v cronu dobijo zaklenjene datoteke ali pa se prekrivajoča izvajanja zapisujejo v napol dokončane datoteke drug drugega, medtem ko --waitretry tiho raztegne opravilo čez okno; wget nima notranjega muteksa.
- Spoznajte mejo: obrazci, seje, ki vsebujejo veliko piškotkov, in končne točke API-ja pripadajo curlu, strani, zgrajene z JavaScriptom, pa se zrcalijo kot prazne lupine, ker wget sledi povezavam, ne skriptom.
Terenska beležka
Eno ogledalo brez --no-parent je čez noč romalo v štirideset gigabajtov odjemalčeve medijske knjižnice in skoraj napolnilo disk. Zastavice vljudnosti se nastavijo enkrat in nato kopirajo za vedno.
Pogosta vprašanja
Zakaj moje ogledalo vsebuje samo eno stran?
Oznake obsega so opravile delo, ki ga je nekdo nameraval razveljaviti: omejitve robots.txt, --no-parent, omejitev globine ali spletno mesto, ki je bilo upodobljeno z JavaScriptom. wget sledi povezavam, ki jih lahko vidi; preverite -o wget.log preden krivite orodje.
Kdaj naj izberem wget namesto curl za en prenos?
Za vse, kar je mogoče nadaljevati ali je zanesljivo za cron: -c nadaljevanje, vgrajeni ponovni poskusi in časovno žigosanje (--timestamping) naredijo wget izbiro za nizko pozornost; curl ti da isto le če ga sestaviš sam.
Ali je zrcaljenje javnega mesta zakonito ali vljudno?
Lastništvo je zakonito, robots.txt in nalaganje pa vljudno: spoštujte datoteko robotov, zmanjšajte na človeško stopnjo in dajte prednost uradnemu izvozu ali API-ju v trenutku, ko ga cilj ponudi.
Zakaj nekatera spletna mesta vrnejo 403 navadnemu wgetu?
Filtriranje uporabniškega agenta, običajno namerno; --user-agent='Mozilla/5.0' vam pomaga, vendar filtriran 403 pomeni tudi, da operater opazuje, zato je dialog ali API boljši naslednji korak.
Kako Kinetikatech pomaga s ukazi in spretnosti lupine linux
To je, kar vsak dan storimo: Ukazi in skriptne navade, ki odločajo, ali skrbnik upravlja strežnik ali se bori proti njemu: iskanje, preoblikovanje, prenos in nadzorovanje besedila in procesov z orodji, ki živijo v vsaki osnovni namestitvi. Naša storitev Varnost strežnikov Linux in Upravljanje strežnikov pokrije vse, od evaluacije do implementacije, monitoringu 24/7 in hitne intervencije v 30 minutah.