Linuxové príkazy
wget: Downloader, ktorý nikdy nespí
wget je curl pre úlohy merané v hodinách: zrkadlá, archívy, rekurzívne sťahovanie a cron dávky, ktoré bežia, zatiaľ čo sa nikto nepozerá. Opakuje sa, rešpektuje súbor robots.txt, štandardne pokračuje v prerušených prenosoch a upravuje sa podľa rýchlostných limitov a čakacích intervalov, čo je zdvorilosť, ktorú ponecháva na volajúceho. Medzi týmito dvoma nástrojmi je rozdelenie čisté: wget pre objem a trpezlivosť, curl pre presnosť a tím, ktorý vie o oboch, zriedka potrebuje tretieho inštalátora.
Kľúčové body
- Zrkadlenie je jeden riadok: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; vynechať --no-parent a archív dokumentácie sa potichu stane plazením všetkého nad ním.
- Pokračovať a opakovať zadarmo: wget -c vyberie prerušený prenos späť a --tries=10 --waitretry=5 vyradí servery, ktoré štikútajú v polovici, namiesto toho, aby zlyhali pri prvom škubnutí.
- Slušnosť má príznaky: --limit-rate=200k, --wait=1 a --random-wait chráni zrkadlo pred prerušením limitov upstream rýchlosti alebo klauzuly o zneužívaní zdieľaného servera; zdieľaný hosting plus neobmedzený crawler je krátke priateľstvo.
- robots.txt je štandardne rešpektovaný; -e robots=off ho zámerne prepíše a pomocou tohto prepísania proti produkčnej lokalite niekoho iného sa hromadné sťahovanie zmení na lístky na incidenty.
- wget -O /dev/null -nv https://host/health je jednoriadková monitorovacia sonda, ktorej výstupné kódy nesú diagnózu: 4 je zlyhanie siete, 8 je chyba servera a obe prekonajú tichý cron.
- Na konverzii potom záleží: --convert-links prepíše zrkadlený web na offline navigáciu a --adjust-extension uloží stránky vygenerované CMS pod rozšírenia, ktoré môžu slúžiť miestne nástroje.
- Hromadné úlohy v crone získavajú uzamykacie súbory alebo prekrývajúce sa behy si navzájom zapisujú do nedokončených súborov, zatiaľ čo --waitretry potichu natiahne úlohu za okno; wget nemá žiadny interný mutex.
- Poznajte hranicu: formuláre, relácie s množstvom súborov cookie a koncové body API patria do curl a stránky vytvorené v JavaScripte sa zrkadlia ako prázdne shelly, pretože wget sleduje odkazy, nie skripty.
Poznámka z teréna
Jedno zrkadlo bez --no-parent sa cez noc zatúlalo do 40 gigabajtov knižnice médií klienta a takmer zaplnilo disk. Príznaky zdvorilosti sa nastavia raz a skopírujú sa navždy.
Často kladené otázky
Prečo moje zrkadlo obsahuje iba jednu stránku?
Príznaky rozsahu vykonali prácu, ktorú chcel niekto vrátiť späť: obmedzenia súboru robots.txt, --no-parent, hĺbkový limit alebo vykreslenie webu pomocou JavaScriptu. wget sleduje odkazy, ktoré vidí; pred obviňovaním nástroja skontrolujte -o wget.log.
Kedy by som mal vybrať wget over curl pre jedno stiahnutie?
Pre čokoľvek obnoviteľné alebo spoľahlivé: -c pokračovanie, vstavané opakovania a časová pečiatka (--timestamping) robia z wget voľbu s nízkou pozornosťou; curl vám dá to isté, iba ak si ho zostavíte sami.
Je legálne alebo slušné zrkadliť verejnú stránku?
Vlastníctvo rozhoduje legálne, robots.txt a načítanie rozhodujú slušne: rešpektujte súbor robotov, obmedzte rýchlosť na ľudskú úroveň a uprednostňujte oficiálny export alebo API v momente, keď ho cieľ ponúkne.
Prečo niektoré stránky vracajú 403 na obyčajný wget?
Filtrovanie používateľských agentov, zvyčajne zámerné; --user-agent='Mozilla/5.0' vás prevedie, ale filtrované 403 tiež znamená, že operátor sa pozerá, takže dialóg alebo API je lepším ďalším krokom.
Ako Kinetikatech pomáha s linuxové príkazy
Nemusíte sa stať expertom v linuxové príkazy: Príkazy a skriptovacie návyky, ktoré rozhodujú o tom, či správca prevádzkuje server alebo s ním bojuje: vyhľadávajte, transformujte, prenášajte a dohliadajte na text a procesy pomocou nástrojov, ktoré sú súčasťou každej základnej inštalácie. Presne na to slúži Bezpečnosť Linuxových serverov a Správa serverov: nastavenie, zabezpečenie, monitoring a človek po ruke deň a noc.