Dies ist ein maschinell übersetzter Text, der Fehler enthalten kann!
Wenn Sie die gleiche Aufgabe zum dritten Mal erledigt haben, ist es an der Zeit, sie zu automatisieren. Skripting bedeutet, die Maschine die langweilige Arbeit für Sie erledigen zu lassen, schneller und ohne etwas zu vergessen.
Warum automatisieren?
Einige Aufgaben im IT-Betrieb werden oft durchgeführt:
- Server aktualisieren
- Benutzer erstellen
- Backup erstellen
- Dienste nach einem Update neu starten
- Überprüfen, ob Dienste laufen
Diese manuell jedes Mal durchzuführen, kostet Zeit und es ist leicht, einen Schritt zu vergessen. Ein Skript macht jedes Mal dasselbe, ohne sich zu beschweren.
Bash: Skripting in Linux
Bash ist die Shell (das Terminal) in den meisten Linux-Distributionen und kann auch Skripte ausführen. Ein Bash-Skript ist einfach eine Textdatei mit Befehlen, die nacheinander ausgeführt werden.
Dein erstes Skript
Erstelle eine Datei namens oppdater.sh:
#!/bin/bash
# Aktualisiere die Paketliste und installiere Updates
echo "Aktualisiere das System..."
sudo apt update
sudo apt upgrade -y
echo "Fertig!"
Mache die Datei ausführbar und führe sie aus:
chmod +x oppdater.sh
./oppdater.sh
# Erstellt die ausführbare Datei und führt sie aus.
#!/bin/bash
Die erste Zeile wird Shebang genannt. Sie teilt dem Betriebssystem mit, dass die Datei mit Bash ausgeführt werden soll. Ohne diese weiß das System nicht, welches Programm das Skript interpretieren soll.
Variablen und Eingaben
#!/bin/bash
BRUKERNAVN=$1
if [ -z "$BRUKERNAVN" ]; then
echo "Verwendung: ./lag_bruker.sh <brukernavn>" # Verwendung: ./lag_bruker.sh <brukernavn>
exit 1
fi
sudo adduser "$BRUKERNAVN"
sudo usermod -aG sudo "$BRUKERNAVN"
echo "Benutzer $BRUKERNAVN mit sudo-Zugriff erstellt." # Benutzer $BRUKERNAVN mit sudo-Zugriff erstellt.
Hier nimmt das Skript einen Benutzernamen als Argument entgegen ($1 ist das erste Argument). Wenn Sie ./lag_bruker.sh ola ausführen, wird der Benutzer ola erstellt und ihm Sudo-Zugriff gewährt.
Nützliche Bash-Konzepte
| Konzept | Beispiel | Was es tut |
|---|---|---|
| Variable | NAME="Ola" | Speichert einen Wert |
| Argument | $1, $2 | Eingabe von der Kommandozeile |
| If-Prüfung | if [ -f "datei.txt" ]; then | Überprüft, ob eine Datei existiert |
| For-Schleife | for f in *.log; do | Führt etwas für jede übereinstimmende Datei aus |
| Pipe | cat logg.txt \| grep "ERROR" | Leitet die Ausgabe eines Befehls an einen anderen weiter |
PowerShell: Skripting in Windows
PowerShell ist Windows’ Antwort auf Bash, aber es ist objektorientierter. Es arbeitet mit Objekten anstelle von reinem Text, was es leistungsstark für die Verwaltung von Windows-Systemen macht.
Beispiel: Festplattenspeicher überprüfen
For å sjekke hvor mye diskplass du har igjen, kan du bruke følgende kommando i terminalen:
df -h
Denne kommandoen viser diskplassbruken for alle monterte filsystemer i et lesbart format (f.eks. GB, MB).
Du kan også bruke du kommandoen for å se hvor mye plass hver mappe og fil bruker:
du -h --max-depth=1
Denne kommandoen viser diskplassbruken for hver mappe i gjeldende katalog, ned til en dybde på 1. --max-depth=1 begrenser søket til kun å vise mapper i den gjeldende katalogen. Uten denne parameteren vil den vise diskplassbruken for alle filer og mapper i hele filsystemet, noe som kan ta lang tid.
# Überprüfen Sie den verfügbaren Speicherplatz
Get-PSDrive -PSProvider FileSystem | Select-Object Name,
@{Name="Verwendet (GB)"; Expression={[math]::Round($_.Used / 1GB, 2)}},
@{Name="Frei (GB)"; Expression={[math]::Round($_.Free / 1GB, 2)}}
Beispiel: Software mit Winget installieren
Winget er et kommandolinjeverktøy som gjør det enkelt å finne, installere, oppgradere og avinstallere programvare på Windows 10 og 11. Det er en pakkehåndterer, omtrent som apt på Debian/Ubuntu eller brew på macOS.
Fordeler med å bruke Winget:
- Sentralisert administrasjon: Administrer all programvare fra kommandolinjen.
- Automatisering: Automatiser installasjon og oppgradering av programvare i skript.
- Enkelhet: Enkelt å bruke, selv for komplekse installasjoner.
Installere Winget:
Winget er vanligvis forhåndsinstallert på Windows 10 (versjon 1709 eller nyere) og Windows 11. Hvis det ikke er installert, kan du laste det ned fra https://github.com/microsoft/winget.
Eksempel på bruk:
For å søke etter en applikasjon, bruk kommandoen winget search <appnavn>. For eksempel:
winget search VLC
For å installere en applikasjon, bruk kommandoen winget install <appnavn>. For eksempel:
winget install VLC
For å avinstallere en applikasjon, bruk kommandoen winget uninstall <appnavn>. For eksempel:
winget uninstall VLC
Du kan finne mer informasjon om Winget på https://learn.microsoft.com/en-us/windows/package-manager/winget/.
# Installer mehrere Programme gleichzeitig
winget install Mozilla.Firefox
winget install Microsoft.VisualStudioCode
winget install Git.Git
winget install Python.Python.3.12
Dies ist viel schneller, als alles manuell herunterzuladen und zu installieren. Sie können die Liste in einem Skript speichern und es jedes Mal ausführen, wenn Sie eine neue Maschine einrichten.
Aufgabe 1 – Erstellen Sie ein Aktualisierungsskript
Schreiben Sie ein Bash-Skript, das:
- Die Paketliste aktualisiert
- Alle verfügbaren Updates installiert
- Nginx (oder einen anderen laufenden Dienst) neu startet
- Eine Meldung ausgibt, wenn es fertig ist
Führen Sie es auf einer Ihrer VMs aus und prüfen Sie, ob es funktioniert.
Aufgabe 2 - Automatisierung der Maschinenkonfiguration
Erstelle ein PowerShell-Skript (.ps1) oder eine einfache Liste mit winget install-Befehlen für alle Programme, die du auf einem neuen PC benötigst. Denke darüber nach:
- Welche Programme installierst du immer?
- Kannst du auch einige Einstellungen mit dem Skript konfigurieren?
Wenn du das nächste Mal eine Maschine einrichtest, führe einfach das Skript aus, anstatt eine Stunde mit der manuellen Installation zu verbringen.
Zusammenfassung
- Wenn Sie etwas öfter als zweimal tun, sollten Sie in Erwägung ziehen, es zu automatisieren.
- Bash (Linux) und PowerShell (Windows) sind die gängigsten Tools für die Skripterstellung.
- Bash-Skripte sind Textdateien mit Befehlen, die nacheinander ausgeführt werden.
- PowerShell arbeitet mit Objekten und ist leistungsstark für die Windows-Administration.
- Variablen, Argumente, If-Prüfungen und Schleifen sind die wichtigsten Bausteine.