Linux-Befehle und Shell-Fähigkeiten
curl: Der Befehlszeilen-Webclient, der das Web-
Curl ist der Pocket-HTTP-Client jeder Betriebs-Toolbox: diagnostisch, Pipeline-freundlich und ehrlich darüber, was zurückkam. Seine Flaggenoberfläche sieht riesig aus und ist größtenteils nicht im Spiel: Ungefähr ein Dutzend Flaggen decken den täglichen Betriebsgebrauch ab, und ihre Kenntnis macht den Unterschied zwischen geskripteten und glücklichen Gesundheitsprüfungen aus. Die Regel, die das meiste Paging einspart, ist trivial: Setzen Sie jedes Mal --max-time, denn die Geduld von Curl ist unendlich und Ihre nicht.
Kernpunkte
- Schauen Sie vor dem Herunterladen nach: curl -sSI https://host gibt Methode, Header und Status ohne Text zurück; Fügen Sie -v hinzu, wenn sich TLS-Handshakes, Proxys oder Hosts-Header seltsam verhalten.
- Timeout-Disziplin ist nicht verhandelbar: --connect-timeout 5 tötet tote Verbindungen, --max-time 15 tötet langsame Verbindungen; Eine Gesundheitsprüfung ohne beides kann den Ausfall, den sie erkennen sollte, überdauern.
- Exit-Codes sind der Vertrag in Skripten: 7 bedeutet Verbindungsverweigerung, 28 bedeutet Zeitüberschreitung, 22 ist ein HTTP-Fehler, der durch --fail angezeigt wird; Lesen Sie den Code, nicht nur die Ausgabe, sonst lernt Ihre Überwachung nichts.
- Kombinieren Sie Sichtbarkeit mit Durchsetzung: -w '%{http_code} %{time_total}\n' meldet, was passiert ist, während --fail-with-body den Fehlertext anzeigt; Ohne eines davon sieht Scheitern genauso aus wie Erfolg.
- Testen Sie, was Benutzer tatsächlich aufgerufen haben: --resolve example.com:443:10.1.2.3 überprüft ein benanntes Backend ohne DNS-Spiele und -H 'Host: vhost.example.com' deckt die Vhost-Seite derselben Anfrage ab.
- Übertragungen erhalten absichtliche Flags: -o benennt die Ausgabe, -L folgt Weiterleitungen, die Sie überprüft haben, --retry 3 --retry-delay 2 mildert unzuverlässige Upstreams und -F verarbeitet mehrteilige Uploads, die uns nie interessiert haben.
- Header und Sockets übertragen die Nicht-Browser-Welt: -H 'Authorization: Bearer ...' für APIs und --unix-socket /run/app/app.sock, um lokale Dienste zu prüfen, die TCP überhaupt nicht berühren.
- Kennen Sie die beiden klassischen Fallen: Proxy-Umgebungsvariablen, die eine Anfrage kapern, die -v in Sekundenschnelle offenlegt, und Weiterleitungen, die einen POST stillschweigend in einen GET umwandeln, sofern Sie es nicht so gemeint haben.
Praxisnotiz
Die Gesundheitsprüfung, die fünfzehn Minuten lang hängen blieb, wurde ohne --max-time in einer Cron-Schleife gelockt und überdauerte den Ausfall, den sie erkennen sollte. Timeouts stehen jetzt grundsätzlich vor der URL.
Häufige Fragen
Warum beendete Curl 0, als die Site 500 zurückgab?
Der Erfolg von Curl bedeutet, dass der Transport funktioniert hat. Fehler auf HTTP-Ebene sind ohne --fail (Exit 22) oder ein Lesen von %{http_code} von -w unsichtbar. Überwachungsskripte bestehen auf einem von beiden.
Curl oder Wget für Skripte?
Curl für APIs, Header, POST-Körper und präzise Steuerung; wget für Spiegelung und Rekursion. Bei einem One-Shot-GET funktioniert beides, und eine Pipeline, die beides mischt, ist normalerweise ein Zeichen dafür, dass niemand entschieden hat, wer den Auftrag hat.
Ist das Überspringen der TLS-Verifizierung jemals gerechtfertigt?
Für eine interaktive Diagnose anhand eines selbstsignierten Laborzertifikats, manchmal; in allem, was mit Skripts oder Crons gesteuert wird, nein. -k deaktiviert die einzige Prüfung, die verhindert, dass ein Man-in-the-Middle Eigentümer Ihres Transfers wird.
Wie finde ich heraus, wo eine langsame Anfrage tatsächlich ins Stocken gerät?
Timing-Variablen: -w 'dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n' Die mehrmalige Ausführung trennt DNS-Flakies von Handshake-Problemen und Backend-Störungen.
Wie Kinetikatech bei linux-befehle und shell-fähigkeiten hilft
Das haben wir schon hundertfach gelöst: Die Befehle und Skriptgewohnheiten, die darüber entscheiden, ob ein Administrator einen Server betreibt oder ihn bekämpft: Suchen, Transformieren, Übertragen und Überwachen von Texten und Prozessen mit den Tools, die in jeder Basisinstallation enthalten sind. Mit Linux-Server-Sicherheit und Serververwaltung erhalten Sie den kompletten Kreislauf: Wir bewerten, wir setzen um, wir überwachen rund um die Uhr und wir reagieren innerhalb von 30 Minuten, wenn es darauf ankommt.