🚀 Lehrpfad 3: High-Performance & Parallelisierung

Bash 11: Remote SSH & REST-Pipelines (curl)

Orchestriere Netzwerke: REST-API Automation mit curl, headless Batch-SSH-Pipelines und hocheffiziente Datensynchronisation mit rsync.

🌐 1. Headless REST-APIs mit curl steuern

Moderne DevOps-Workflows triggern Webhooks und steuern Cloud-APIs direkt aus Shell-Skripten:

# 🎯 Statuscode prüfen (Health Checks):
http_status=$(curl -s -o /dev/null -w "%{http_code}" https://status.cloud.corp)
echo "HTTP Status: $http_status"

# 🎯 JSON POST Request mit Authentifizierung:
curl -s -f -X POST "https://api.cloud.corp/v1/deploy" \
  -H "Authorization: Bearer sec_token_123" \
  -H "Content-Type: application/json" \
  -d '{"service": "auth-api", "version": "v2.1"}'

🔐 2. SSH Batch Mode & rsync Synchronisation

Für unbeaufsichtigte CI/CD-Pipelines muss SSH so konfiguriert sein, dass es niemals bei unbekannten Keys oder Passwörtern hängen bleibt:

# 🚀 Remote-Skriptausführung ohne interaktive Prompts:
ssh -p 22 -o BatchMode=yes -o StrictHostKeyChecking=no deploy@10.0.0.5 "bash -s" < update.sh

# 📦 Inkrementelle Synchronisation mit rsync:
rsync -avz --delete --exclude="*.log" /var/app/ deploy@backup-server:/var/app/
🛰️ Didaktische Analogie: Der intergalaktische Fernsteuerungs-Link

curl: Die Sonde, die mit planetaren Relaisstationen (REST-APIs) spricht und Datenpakete austauscht.
SSH "bash -s": Der Teleporter-Strahl, der deinen lokalen Code direkt im Gehirn des Ziel-Rechners ausführt, ohne dass dort vorher Dateien kopiert werden müssen!
rsync: Die hocheffiziente Frachtkapsel, die nur die Bauteile überträgt, die sich seit dem letzten Flug verändert haben.

📑 3. Cheat-Sheet: Netzwerk & Remote-Befehle

Befehl / Flag Bedeutung Wirkung
curl -s -f Silent & Fail fast Keine Progress-Bar, wirft Fehler bei HTTP 4xx/5xx
-w "%{http_code}" Write Out HTTP Code Gibt ausschließlich den numerischen Statuscode aus
-o BatchMode=yes SSH Option Verhindert Passwort-Eingabeaufforderungen im Terminal
rsync -avz Archive, Verbose, Compress Erhält Dateirechte, komprimiert während Transfer
rsync --delete Mirror Deletion Löscht gelöschte Quelldateien auch im Ziel

🧠 Diagnostischer Selbst-Check

Überprüfe dein Verständnis der Kernkonzepte und typischen CLI-/Git-Fallen, bevor du die Kommandos in der Praxis anwendest.

🎯 Aufgaben & Checkliste in aufgabe.sh

💻 In Web-IDE öffnen → ← Zurück zu Bash 10 Weiter zu Bash 12 →