Programmierung und Automatisierung
Dieser Beitrag ist eine Begriffserklärung zum Thema Programmierung und Automatisierung – inklusive Prüfungsfragen, Kernkomponenten und Tags.
In a Nutshell
Automatisierung durch Programmierung entlastet IT-Prozesse, verbessert Effizienz und reduziert Fehler. Dafür werden Skripte, Programmiersprachen und Automatisierungstools gezielt eingesetzt.
Kompakte Fachbeschreibung
Wiederkehrende Aufgaben wie Backups, Benutzerverwaltung oder Deployments lassen sich durch Skriptprogrammierung automatisieren (z.B. Bash, PowerShell, Python). Dazu kommen Zeitplanung (Cron, Task Scheduler), Monitoring, Logging und Sicherheitsprüfungen.
Auch herstellerspezifische Tools nutzen eigene Skriptbausteine (z.B. VMware PowerCLI). Häufig gehört außerdem dazu, bestehenden Code zu analysieren und gezielt anzupassen, um Automatisierung in bestehende Systeme zu integrieren.
Prüfungsrelevante Stichpunkte
- Programmiersprachen zielgerichtet auswählen
- Automatisierung reduziert manuelle Eingriffe und Fehler
- Skriptsprachen für Systemaufgaben und Prozesslogik
- Plattformtools: Bash (Linux), PowerShell (Windows) (IHK-relevant)
- Überwachung über Logs, Exit-Codes, Trigger (Praxisbezug)
- Sensible Prozesse nur mit Logging und Rollenprüfung (Sicherheitsaspekt)
- Weniger Aufwand bei Wartung und Systempflege (Wirtschaftlichkeit)
- Änderungen dokumentieren und versionieren (Dokumentationspflicht)
Kernkomponenten
- Wahl der Programmiersprache
- Plattformabhängige Skripting-Tools
- Automatisierungsziele definieren
- Bedingte Ausführung und Schleifen
- Fehlerbehandlung und Logging
- Zeitgesteuerte Aufgaben (Cron, Task Scheduler)
- Integration in bestehende Systeme
- Versionsverwaltung der Skripte
- Sicherheitsprüfungen und Rechtekonzepte
- Monitoring automatisierter Abläufe
Einfaches Praxisbeispiel (Python-Backup)
import shutil
shutil.copy('/home/user/data.db', '/backup/data.db')
Erklärung: Das Skript kopiert automatisiert eine Datei in ein Backup-Verzeichnis und kann regelmäßig per Cronjob laufen.
Vorteile und Nachteile
Vorteile
- Fehlervermeidung durch automatisierte Prozesse
- Zeitersparnis bei wiederkehrenden Aufgaben
- Nachvollziehbarkeit durch Logs
- Plattformübergreifend mit portablen Skriptsprachen
Nachteile
- Fehler im Skript können großen Schaden verursachen
- Erfordert Tests und sauberes Logging
- Unterschiedliches Verhalten je nach Umgebung
Typische Prüfungsfragen (mit Kurzantwort)
- Wann Bash statt Python? Für einfache Systemaufgaben unter Linux (Dateien, Prozesse, Pipes).
- Typische Automatisierungsaufgaben? Backups, User-Anlage, Log-Archivierung, Deployment.
- Wie gestaltet man Automatisierung sicher? Logging, Rechteprüfung, Code Reviews, Exit-Status auswerten.
- Was ist ein Cronjob? Zeitgesteuerter Task unter Linux.
- Vorteile PowerShell gegenüber Bash? Objektbasiert und tief in Windows/APIs integriert.
Freie Antwort
Das Thema verbindet Sprachauswahl, Plattformabhängigkeit und Automatisierungsziel. In Prüfungen ist häufig relevant, ein Skript zu lesen, zu erweitern und Fehlerbehandlung/Logging korrekt einzubauen.
Lernstrategie für dieses Thema
- Verständniseinstieg: Automatisiere ein kleines Backup lokal (Bash oder Python).
- Vertiefungsmethode: Skizziere einen Automatisierungsprozess (User-Anlage + Rechte).
- Prüfungsfokustraining: Übe Aufgaben, wo Skripte analysiert/ergänzt werden.
- Fehlervermeidung: Immer Logging und Rechteprüfung einbauen.
Themenanalyse
- Technischer Kern: Shell, Python, Scheduling, Logging
- Implementierungsherausforderungen: Plattformunterschiede, Fehlervermeidung
- Sicherheitsimplikationen: Rechtevergabe, Missbrauch ungesicherter Skripte
- Dokumentationspflichten: Versionskontrolle, Änderungsprotokoll
- Wirtschaftliche Bewertung: weniger manueller Aufwand durch Wiederholbarkeit
Weiterführende Infos
- http://linuxcommand.org/lc3_learning_the_shell.php
- https://learn.microsoft.com/de-de/powershell/
- https://automatetheboringstuff.com/
- https://docs.github.com/en/actions
- https://crontab.guru/