Linuxové příkazy
wget: Stahovač, který nikdy nespí
wget je curl pro úlohy měřené v hodinách: zrcadlení, archivy, rekurzivní stahování a cron dávky, které běží, zatímco se nikdo nedívá. Opakuje se, respektuje soubor robots.txt, ve výchozím nastavení obnovuje přerušené přenosy a přizpůsobuje se rychlostním limitům a čekacím intervalům, což je zdvořilost, kterou ponechává volajícímu. Mezi těmito dvěma nástroji je rozdělení čisté: wget pro objem a trpělivost, curl pro přesnost a tým, který zná oba, zřídka potřebuje třetího instalátora.
Klíčové body
- Zrcadlení je jeden řádek: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; vynechat --no-parent a archiv dokumentace se tiše stane prolézačkou všeho nad ním.
- Pokračujte a opakujte zdarma: wget -c vybere přerušený přenos zpět a --tries=10 --waitretry=5 vyřadí servery, které škytají ve velkém, místo aby selhala úloha při prvním škubnutí.
- Zdvořilost má příznaky: --limit-rate=200k, --wait=1 a --random-wait zabraňují zrcadlení přerušit limity rychlosti upstream nebo klauzuli o zneužití sdíleného serveru; sdílený hosting plus neomezený crawler je krátké přátelství.
- robots.txt je standardně respektován; -e robots=off jej záměrně přepíše a použití tohoto přepsání proti produkčnímu webu někoho jiného je způsob, jakým se hromadné stahování změní na lístky na incidenty.
- wget -O /dev/null -nv https://host/health je jednořádková monitorovací sonda, jejíž výstupní kódy nesou diagnózu: 4 je selhání sítě, 8 je chyba serveru a obě překonávají tichý cron.
- Konverze je potom důležitá: --convert-links přepíše zrcadlený web pro offline navigaci a --adjust-extension uloží stránky vygenerované CMS pod rozšíření, která mohou sloužit místní nástroje.
- Hromadné úlohy v cronu získávají zamykací soubory nebo překrývající se běhy si vzájemně zapisují do zpola hotových souborů, zatímco --waitretry tiše protahuje úlohu za její okno; wget nemá žádný vnitřní mutex.
- Poznejte hranici: formuláře, relace s vysokým obsahem souborů cookie a koncové body API patří ke curl a stránky vytvořené v JavaScriptu se zrcadlí jako prázdné shelly, protože wget následuje odkazy, nikoli skripty.
Poznámka z terénu
Jedno zrcadlo bez --no-parent se přes noc zatoulalo do čtyřiceti gigabajtů knihovny médií klienta a téměř zaplnilo disk. Příznaky zdvořilosti jsou nastaveny jednou a zkopírovány navždy.
Časté dotazy
Proč moje zrcadlo obsahuje pouze jednu stránku?
Příznaky rozsahu udělaly práci, kterou někdo chtěl vrátit zpět: omezení robots.txt, --no-parent, omezení hloubky nebo vykreslení webu pomocí JavaScriptu. wget sleduje odkazy, které vidí; před obviňováním nástroje zkontrolujte -o wget.log.
Kdy mám vybrat wget over curl pro jedno stažení?
Pro cokoli obnovitelného nebo spolehlivého cron: -c pokračování, vestavěné opakování a časové razítko (--timestamping) činí z wget volbu pro rozsah nízké pozornosti; curl vám dá to samé, pouze pokud si jej sestavíte sami.
Je legální nebo slušné zrcadlit veřejný web?
Vlastnictví rozhoduje legálně, robots.txt a načítání rozhodují zdvořile: respektujte soubor robotů, snižte rychlost na lidskou míru a preferujte oficiální export nebo API v okamžiku, kdy je cíl nabídne.
Proč některé weby vracejí 403 na prostý wget?
Filtrování uživatelských agentů, obvykle záměrné; --user-agent='Mozilla/5.0' vás provede, ale filtrované 403 také znamená, že se operátor dívá, takže dialog nebo API je lepší další krok.
Jak Kinetikatech pomáhá s linuxové příkazy
Řešili jsme to už stokrát: Příkazy a skriptovací návyky, které rozhodují o tom, zda správce provozuje server nebo s ním bojuje: prohledávejte, transformujte, přenášejte a dohlížejte na text a procesy pomocí nástrojů, které jsou součástí každé základní instalace. Se službou Zabezpečení linuxových serverů a Správa serverů získáte celý cyklus: posoudíme, nasadíme, nepřetržitě sledujeme a v případě potřeby zasáhneme do 30 minut.