Ansible/Playbooks/update-pve.sh
2024-11-27 22:07:07 +01:00

45 lines
1.2 KiB
Bash

#!/bin/bash
# Liste der Server und SSH-Zugangsdaten
servers=(
"ansible@192.168.178.2"
"ansible@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=no "$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."