49 lines
1.3 KiB
Bash
49 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Liste der Server und SSH-Zugangsdaten
|
|
servers=(
|
|
"root@192.168.178.2"
|
|
"root@192.168.178.3"
|
|
)
|
|
|
|
# Pfad zum SSH-Schlüssel für den ansible-Benutzer
|
|
ssh_key="/root/.ssh/id_rsa" # Ersetze dies mit dem tatsächlichen Pfad zu deinem SSH-Schlüssel
|
|
|
|
# Funktion zur Durchführung von Updates auf einem Server
|
|
update_server() {
|
|
local server=$1
|
|
|
|
echo "Verbinde mit Server $server und führe Update, Upgrade, Bereinigung und Neustart durch..."
|
|
|
|
# SSH-Verbindung mit SSH-Schlüssel und dem ansible-Benutzer herstellen und Update durchführen
|
|
ssh -i "$ssh_key" -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"
|
|
|
|
# Neustart des Servers
|
|
echo "Starte $HOSTNAME neu..."
|
|
reboot
|
|
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, bereinigt und neu gestartet."
|