Ukazi in spretnosti lupine Linux
curl: spletni odjemalec ukazne vrstice, ki poganja splet
curl je žepni HTTP odjemalec vsake operacijske orodjarne: diagnostični, cevovodu prijazen in pošten glede tega, kar se je vrnilo. Površina njegove zastavice je videti ogromna in večinoma ni v igri: približno ducat zastavic pokriva vsakodnevno operativno uporabo in njihovo poznavanje je razlika med skriptiranimi zdravstvenimi pregledi in srečnimi. Pravilo, ki prihrani največ ostranjenja, je trivialno: vsakič nastavite --max-time, ker je potrpežljivost curla neskončna, vaša pa ne.
Ključne točke
- Poglejte, preden prenesete: curl -sSI https://host vrne metodo, glave in status brez telesa; dodajte -v, ko se TLS rokovanja, posredniki ali glave gostiteljev obnašajo čudno.
- O časovni omejitvi se ni mogoče pogajati: --connect-timeout 5 uniči mrtve povezave, --max-time 15 uniči počasne; zdravstveni pregled brez obeh lahko traja dlje od izpada, ki naj bi ga zaznal.
- Izhodne kode so pogodba v skriptih: 7 je povezava zavrnjena, 28 je časovna omejitev, 22 je napaka HTTP, ki jo prikaže --fail; preberite kodo, ne samo izhoda, sicer se vaše spremljanje ne nauči ničesar.
- Poveži vidnost z uveljavljanjem: -w '%{http_code} %{time_total}\n' poroča, kaj se je zgodilo, medtem ko --fail-with-body prikaže telo napake; brez enega od teh je neuspeh videti kot uspeh.
- Preizkusite, kaj uporabniki dejansko zadenejo: --resolve example.com:443:10.1.2.3 preveri imenovano zaledje brez iger DNS in -H 'Host: vhost.example.com' pokriva stran vhost iste zahteve.
- Prenosi dobijo namerne zastavice: -o poimenuje izhod, -L sledi preusmeritvam, ki ste jih pregledali, --retry 3 --retry-delay 2 zmehča nezapletene navzgornje tokove in -F obravnava večdelna nalaganja, za katera wget nikoli ni skrbel.
- Glave in vtičnice prenašajo svet brez brskalnika: -H 'Authorization: Bearer ...' za API-je in --unix-socket /run/app/app.sock za preverjanje lokalnih storitev, ki se TCP sploh nikoli ne dotaknejo.
- Spoznajte dve klasični pasti: spremenljivke okolja posrednika, ki ugrabijo zahtevo, ki jo -v razkrije v nekaj sekundah, in preusmeritve, ki tiho spremenijo POST v GET, razen če ste resno mislili.
Terenska beležka
Preverjanje zdravja, ki je viselo petnajst minut, je bilo curl brez --max-time znotraj zanke cron in je preživelo izpad, ki naj bi ga zaznal. Časovne omejitve so zdaj načeloma pred URL-jem.
Pogosta vprašanja
Zakaj je curl zapustil 0, ko je spletno mesto vrnilo 500?
curlov uspeh pomeni, da je prevoz uspel; Napake na ravni HTTP so nevidne brez --fail (izhod 22) ali branja %{http_code} iz -w. Skripti za spremljanje vztrajajo pri enem od obeh.
curl ali wget za skripte?
curl za API-je, glave, telesa POST in natančen nadzor; wget za zrcaljenje in rekurzijo. Za enkratni GET deluje kateri koli, cevovod, ki meša oba, pa je običajno znak, da se nihče ni odločil, kateri je lastnik posla.
Ali je preskok preverjanja TLS kdaj upravičen?
Včasih za eno interaktivno diagnostiko proti samopodpisanemu laboratorijskemu potrdilu; v čemer koli, kar je skriptirano ali ki ga poganja cron, ne. -k onemogoči edino preverjanje, ki človeku v sredini preprečuje, da bi bil lastnik vašega prenosa.
Kako ugotovim, kje se počasna zahteva dejansko ustavi?
Časovne spremenljivke: -w 'dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n' zaženi nekajkrat loči nestabilnost DNS od stiskanja rok in zastojev v ozadju.
Kako Kinetikatech pomaga s ukazi in spretnosti lupine linux
Ne morete postati eksperta za ukazi in spretnosti lupine linux: 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. Nekatere za to obstaja Varnost strežnikov Linux in Upravljanje strežnikov: nastavitev, krepitev, monitoring in osebna strega dne in noči.