45 lines
1.2 KiB
Bash
45 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Liste der Server und SSH-Zugangsdaten
|
|
servers=(
|
|
"root@192.168.178.2"
|
|
"root@192.168.178.3"
|
|
)
|
|
|
|
# Passwort für den root-Benutzer (optional, für SSH-Schlüssel-basierte Authentifizierung empfohlen)
|
|
# In diesem Beispiel ist keine Passwortabfrage erforderlich, da SSH-Schlüssel verwendet werden sollten.
|
|
|
|
# Funktion zur Durchführung von Updates auf einem Server
|
|
update_server() {
|
|
local server=$1
|
|
|
|
echo "Verbinde mit Server $server und führe Update, Upgrade und Bereinigung durch..."
|
|
|
|
# SSH-Verbindung herstellen und Update durchführen
|
|
ssh -o StrictHostKeyChecking=yes "$server" << 'EOF'
|
|
echo "Starte Update und Upgrade auf $HOSTNAME..."
|
|
|
|
# Update der Paketliste
|
|
apt update -y
|
|
|
|
# Upgrade der Pakete
|
|
apt upgrade -y
|
|
|
|
# Distribution-Upgrade
|
|
apt dist-upgrade -y
|
|
|
|
# Bereinigung
|
|
apt autoremove -y
|
|
apt autoclean -y
|
|
|
|
echo "Update, Upgrade und Bereinigung abgeschlossen auf $HOSTNAME"
|
|
EOF
|
|
}
|
|
|
|
# Durchlaufe alle Server und führe die Updates durch
|
|
for server in "${servers[@]}"; do
|
|
update_server "$server"
|
|
done
|
|
|
|
echo "Alle Server wurden erfolgreich aktualisiert und bereinigt."
|