Linux naredbe i vještine školjke
curl: web klijent naredbenog retka koji pokreće web
curl je džepni HTTP klijent svakog operativnog alatnog okvira: dijagnostički, prilagođen cjevovodu i iskren o onome što se vratilo. Njegova površina zastavice izgleda ogromno i uglavnom nije u igri: oko desetak zastavica pokriva svakodnevnu operativnu uporabu, a njihovo poznavanje razlika je između skriptiranih provjera zdravlja i onih sretnih. Pravilo koje štedi najviše straničenja je trivijalno: postavite --max-time svaki put, jer curlovo strpljenje je beskrajno, a vaše nije.
Ključne točke
- Pogledajte prije preuzimanja: curl -sSI https://host vraća metodu, zaglavlja i status bez tijela; dodajte -v kada se TLS rukovanja, proxy ili host zaglavlja ponašaju čudno.
- Disciplina vremenskog ograničenja se ne može pregovarati: --connect-timeout 5 ubija mrtve veze, --max-time 15 ubija one spore; zdravstvena provjera bez oboje može nadživjeti prekid koji je trebala otkriti.
- Izlazni kodovi su ugovor u skriptama: 7 je veza odbijena, 28 je vremensko ograničenje, 22 je HTTP pogreška koju pojavljuje --fail; pročitajte kod, a ne samo izlaz, ili vaš nadzor neće ništa naučiti.
- Spajanje vidljivosti s provedbom: -w '%{http_code} %{time_total}\n' javlja što se dogodilo, dok --fail-with-body prikazuje tijelo pogreške; bez jednog od ovih, neuspjeh izgleda točno kao uspjeh.
- Testirajte što korisnici zapravo pogađaju: --resolve example.com:443:10.1.2.3 provjerava imenovani backend bez DNS igara, a -H 'Host: vhost.example.com' pokriva vhost stranu istog zahtjeva.
- Prijenosi dobivaju namjerne zastavice: -o imenuje izlaz, -L slijedi preusmjeravanja koja ste pregledali, --retry 3 --retry-delay 2 omekšava nesigurne uzvodne poruke, a -F obrađuje višedijelne prijenose o kojima wget nikada nije mario.
- Zaglavlja i utičnice nose svijet koji nije preglednik: -H 'Authorization: Bearer ...' za API-je i --unix-socket /run/app/app.sock za ispitivanje lokalnih usluga koje uopće ne dodiruju TCP.
- Upoznajte dvije klasične zamke: proxy varijable okruženja koje otimaju zahtjev koji -v izlaže za nekoliko sekundi i preusmjeravanja koja tiho pretvaraju POST u GET osim ako ste to ozbiljno mislili.
Terenska bilješka
Provjera zdravlja koja je stajala petnaest minuta bila je curl bez --max-time unutar cron petlje i nadživjela je prekid rada koji je trebala otkriti. Timeouts sada ide prije URL-a, u principu.
Često postavljana pitanja
Zašto je curl izašao s 0 kada je stranica vratila 500?
curlov uspjeh znači da je transport uspio; Pogreške na razini HTTP-a su nevidljive bez --fail (izlaz 22) ili čitanja %{http_code} iz -w. Skripte za praćenje inzistiraju na jednom od ta dva.
curl ili wget za skripte?
curl za API-je, zaglavlja, POST tijela i preciznu kontrolu; wget za zrcaljenje i rekurziju. Za jednokratni GET funkcionira bilo koje, a cjevovod koji miješa oba obično je znak da nitko nije odlučio koji je vlasnik posla.
Je li preskakanje TLS provjere ikada opravdano?
Za jednu interaktivnu dijagnostiku protiv samopotpisanog laboratorijskog certifikata, ponekad; u bilo čemu skriptiranom ili pokretanom cron-om, ne. -k onemogućuje jedinu provjeru koja sprječava čovjeka u sredini da posjeduje vaš transfer.
Kako mogu saznati gdje spor zahtjev zapravo staje?
Vremenske varijable: -w 'dns:%{time_namelookup} povezivanje:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} ukupno:%{time_total}\n' pokreni nekoliko puta odvaja nestabilnost DNS-a od problema rukovanja od zastoja u pozadini.
Kako Kinetikatech pomaže kod linux naredbe i vještine školjke
Ponuda je jednostavna: Naredbe i navike skriptiranja koje odlučuju hoće li administrator upravljati poslužiteljem ili se boriti protiv njega: pretražujte, transformirajte, prenosite i nadzirite tekst i procese s alatima koji se nalaze u svakoj osnovnoj instalaciji. Povjerite to našoj usluzi Sigurnost Linux servera i Upravljanje serverima i imate potpunu pokrivenost: ozbiljna procjena, čista implementacija, nadzor bez prestanka.