Linux-kommandon och skalfärdigheter
wget: Det är nedladdningsprogrammet som aldrig sover
wget är curl för jobb mätt i timmar: speglar, arkiv, rekursiva drag och cron-batcher som körs medan ingen tittar. Det återkommer, hedrar robots.txt, återupptar avbrutna överföringar som standard och tar fart med hastighetsgränser och vänteintervall, vilket är en artighetscurl som lämnar till den som ringer. Mellan de två verktygen är uppdelningen ren: wget för bulk och tålamod, curl för precision och ett team som känner till båda behöver sällan en tredje installatör.
Nyckelpunkter
- Spegling är en rad: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; utelämna --no-parent och ett dokumentationsarkiv blir tyst en genomsökning av allt ovanför det.
- Återuppta och försök igen gratis: wget -c väljer en avbruten överföring, och --tries=10 --waitretry=5 kör ut servrar som hickar mitt i bulk istället för att misslyckas med jobbet vid första ryckningen.
- Artighet har flaggor: --limit-rate=200k, --wait=1 och --random-wait förhindrar att en spegel löser ut uppströmshastighetsgränser eller en delad servermissbruksklausul; delad hosting plus en okontrollerad sökrobot är en kort vänskap.
- robots.txt respekteras som standard; -e robots=off åsidosätter det medvetet, och att använda den åsidosättningen mot någon annans produktionsplats är hur massnedladdningar förvandlas till incidentbiljetter.
- wget -O /dev/null -nv https://host/health är en enrads övervakningssond vars utgångskoder bär diagnosen: 4 är ett nätverksfel, 8 är ett serverfel och båda slår en tyst cron.
- Konvertering spelar roll i efterhand: --convert-links skriver om en speglad webbplats för offlinenavigering, och --adjust-extension sparar CMS-genererade sidor under tillägg som lokala verktyg kan tjäna.
- Massjobb i cron får låsfiler, eller överlappande körningar skriver in i varandras halvfärdiga filer medan --waitretry tyst sträcker jobbet förbi dess fönster; wget har ingen intern mutex.
- Känn till gränsen: formulär, cookie-tunga sessioner och API-slutpunkter tillhör curl, och JavaScript-byggda sidor speglar som tomma skal eftersom wget följer länkar, inte skript.
Fältnotis
En spegel utan --no-parent vandrade in i fyrtio gigabyte av en klients mediabibliotek över en natt och nästan fyllde disken. Artighetsflaggorna sätts en gång och kopieras för alltid efter.
Vanliga frågor
Varför innehåller min spegel bara en sida?
Scope-flaggor gjorde det arbete någon menade att ångra: robots.txt-begränsningar, --no-parent, en djupgräns eller att webbplatsen JavaScript-renderades. wget följer länkar som den kan se; kontrollera -o wget.log innan du skyller på verktyget.
När ska jag välja wget framför curl för en enda nedladdning?
För allt som kan återupptas eller cron-tillförlitligt: -c fortsättning, inbyggda försök och tidsstämpling (--tidsstämpling) gör wget till valet med låg uppmärksamhetsförmåga; curl ger dig samma bara om du monterar den själv.
Är det lagligt eller artigt att spegla en offentlig webbplats?
Ägarskap avgör lagligt, robots.txt och load avgör artigt: respektera robotfilen, strypa till en mänsklig takt och föredra en officiell export eller API i det ögonblick som målet erbjuder en.
Varför returnerar vissa webbplatser 403 till vanlig wget?
Användaragentfiltrering, vanligtvis avsiktlig; --user-agent='Mozilla/5.0' tar dig igenom, men en filtrerad 403 betyder också att operatören tittar, så en dialog eller ett API är det bättre nästa steget.
Så hjälper Kinetikatech dig med linux-kommandon och skalfärdigheter
Du ska inte behöva bli expert på linux-kommandon och skalfärdigheter: Kommandon och skriptvanor som avgör om en administratör driver en server eller bekämpar den: sök, transformera, överföra och övervaka text och processer med verktygen som finns i varje basinstallation. Det är precis vad Linux-serversäkerhet och Serverhantering finns till för, installation, härdning, övervakning och en människa på jour dygnet runt.