Linuxové príkazy
curl: Webový klient príkazového riadka, ktorý spúšťa web
curl je vreckový HTTP klient každej operačnej sady nástrojov: diagnostický, priateľský k pipeline a úprimný o tom, čo sa vrátilo. Jeho vlajkový povrch vyzerá obrovsky a väčšinou nie je v hre: asi tucet vlajok pokrýva každodenné prevádzkové použitie a poznať ich je rozdiel medzi napísanými zdravotnými kontrolami a šťastnými. Pravidlo, ktoré šetrí najviac stránkovania, je triviálne: zakaždým nastavte --max-time, pretože trpezlivosť curl je nekonečná a vaša nie.
Kľúčové body
- Pred stiahnutím si pozrite: curl -sSI https://hostiteľ vráti metódu, hlavičky a stav bez tela; pridať -v, keď sa TLS handshake, proxy alebo hlavičky hostiteľov správajú zvláštne.
- Disciplína timeoutu je nemenná: --connect-timeout 5 zabíja mŕtve spojenia, --max-time 15 zabíja pomalé; zdravotná kontrola bez oboch môže prečkať výpadok, ktorý mala odhaliť.
- Výstupné kódy sú zmluvy v skriptoch: 7 je pripojenie odmietnuté, 28 je časový limit, 22 je chyba HTTP, ktorá sa objavila pri --fail; čítajte kód, nielen výstup, inak sa vaše monitorovanie nič nenaučí.
- Viditeľnosť spárovania s presadzovaním: -w '%{http_code} %{time_total}\n' oznamuje, čo sa stalo, zatiaľ čo --fail-with-body zobrazuje telo chyby; bez jedného z nich vyzerá neúspech presne ako úspech.
- Otestujte, čo používatelia skutočne zasiahli: --resolve example.com:443:10.1.2.3 skontroluje pomenovaný backend bez DNS hier a -H 'Host: vhost.example.com' pokrýva stranu vhost tej istej požiadavky.
- Prenosy dostávajú zámerné príznaky: -o pomenuje výstup, -L nasleduje presmerovania, ktoré ste skontrolovali, --retry 3 --retry-delay 2 zjemní nestále upstreamy a -F spracuje viacdielne nahrávania, o ktoré sa wget nikdy nestaral.
- Hlavičky a zásuvky nesú svet mimo prehliadača: -H 'Autorizácia: Nosič ...' pre API a --unix-socket /run/app/app.sock na testovanie miestnych služieb, ktoré sa vôbec nedotýkajú TCP.
- Poznajte dve klasické pasce: proxy premenné prostredia unesú požiadavku, ktorú -v odhalí v priebehu niekoľkých sekúnd, a presmerovania, ktoré potichu premenia POST na GET, pokiaľ ste to nemysleli vážne.
Poznámka z teréna
Kontrola stavu, ktorá visela pätnásť minút, bola skrútená bez --max-time vnútri cronovej slučky a prekonala výpadok, ktorý mala detekovať. Časové limity teraz v zásade prechádzajú pred URL.
Často kladené otázky
Prečo curl opustil 0, keď stránka vrátila 500?
úspech curl znamená, že doprava fungovala; Chyby na úrovni HTTP sú neviditeľné bez --fail (exit 22) alebo čítania %{http_code} z -w. Monitorovacie skripty trvajú na jednom z dvoch.
curl alebo wget pre skripty?
curl pre API, hlavičky, telá POST a presné ovládanie; wget pre zrkadlenie a rekurziu. Pre jednorazový GET funguje buď a zmiešavanie oboch je zvyčajne znakom, že nikto nerozhodol, ktorý z nich je vlastníkom zákazky.
Je preskočenie overenia TLS niekedy opodstatnené?
Pre jednu interaktívnu diagnostiku proti laboratórnemu certifikátu s vlastným podpisom, niekedy; v čomkoľvek napísanom alebo riadenom cronom, nie. -k zakáže jedinú kontrolu, ktorá zabráni mužovi v strede vlastniť váš prevod.
Ako zistím, kde sa pomalá požiadavka skutočne zastaví?
Premenné časovania: -w 'dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n' niekoľkonásobné spustenie oddeľuje laxnosť DNS od bolesti pri podávaní handshake od blokovania backendu.
Ako Kinetikatech pomáha s linuxové príkazy
To riešime stokrát: 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. S Bezpečnosť Linuxových serverov a Správa serverov dostanete celý kolobeh: vyhodnotíme, implementujeme, sledujeme nonstop a zasiahlieme do 30 minút, keď je to potrebné.