← Alle LernbereicheFISI AP2

Administration & Automation

Systeme reproduzierbar verwalten und wiederkehrende Aufgaben sicher automatisieren.

01

Automatisierung auswählen

Automatisiert werden wiederholbare, klar beschreibbare Abläufe. Vorher werden Eingaben, gewünschter Zustand, Fehlerfälle, Protokollierung und Rückweg festgelegt.

02

PowerShell und Bash

Variablen, Bedingungen, Schleifen, Funktionen und Pipelines bilden die Grundlage. Befehle liefern strukturierte Daten oder Text; Eingaben müssen validiert und Ausnahmen behandelt werden.

03

Idempotenz

Ein idempotenter Ablauf kann mehrfach ausgeführt werden, ohne bei bereits erreichtem Ziel unerwünschte Änderungen zu erzeugen.

Lege die Gruppe nur an, wenn sie noch nicht existiert.
04

Rechte und Geheimnisse

Skripte laufen mit den minimal notwendigen Rechten. Kennwörter, API-Schlüssel und Zertifikatsschlüssel gehören in geschützte Secret-Speicher und nicht in Quellcode oder Protokolle.

05

Zeitsteuerung

Cron, systemd-Timer und Aufgabenplanung starten Jobs geplant. Sperren verhindern parallele Läufe; Exitcodes, Laufzeit und Ergebnis werden überwacht.

06

Konfigurationsmanagement

Werkzeuge wie Ansible beschreiben einen Zielzustand und wenden Änderungen reproduzierbar an. Inventar, Rollen, Variablen und Versionsverwaltung unterstützen nachvollziehbare Umgebungen.

07

Sicher testen

Automatisierung wird zuerst mit Testdaten oder in einer Testumgebung geprüft. Dry-Run, Backout-Plan, aussagekräftige Logs und begrenzte Stapelgrößen reduzieren Auswirkungen.

08

Praxis: Zustände statt Befehlsfolgen

Ein Skript zur Gruppenanlage prüft zuerst, ob die Gruppe existiert. Fehlende Eingaben oder unerreichbare Dienste werden als Fehler behandelt, statt einen Erfolg zu melden. Ein zweiter Lauf soll keine Duplikate erzeugen. Prüfe Erstlauf, Wiederholung, ungültige Eingabe und fehlende Rechte.

Soll: Gruppe vorhanden
Ist prüfen → bei Bedarf anlegen → Ergebnis prüfen → protokollieren
09

Praxis: Bash sicher lesen

Quote Variablen, wenn ein Wert als einzelnes Argument gedacht ist: "$datei". Exitcodes und Fehlerzweige müssen ausdrücklich geprüft werden. set -e ist kein vollständiges Fehlerbehandlungskonzept und besitzt Ausnahmen. Arbeite mit begrenzten Zielpfaden und vermeide ungeprüfte rekursive Dateioperationen. Eine Vorschau erklärt geplante Änderungen, ohne sie auszuführen.

if test -f "$datei"; then
  printf "%s\n" "Datei vorhanden"
else
  printf "%s\n" "Datei fehlt" >&2
  exit 1
fi
10

Praxis: PowerShell sicher prüfen

PowerShell-Cmdlets können nicht terminierende Fehler liefern. -ErrorAction Stop kann sie für try/catch in terminierende Fehler umwandeln. -WhatIf wirkt nur bei Befehlen, die dies unterstützen, und garantiert keine umfassende Simulation eines ganzen Skripts. Verwende strukturierte Objekte statt formatierten Bildschirmtext als Datengrundlage.

try {
  Get-Item -LiteralPath $pfad -ErrorAction Stop
} catch {
  Write-Error "Datei konnte nicht gelesen werden."
}

Wissen anwenden

Prüfe die Grundlagen in einer kurzen Übung.

Zur Übung ↗