diff --git a/Playbooks/update-stopped-vms.sh b/Playbooks/update-stopped-vms.sh deleted file mode 100644 index a44a71d..0000000 --- a/Playbooks/update-stopped-vms.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -# Proxmox-Server-IPs und Login-Daten -PROXMOX_SERVERS=("192.168.178.2" "192.168.178.3") -SSH_USER="root" -SSH_KEY_PATH="/root/.ssh/id_rsa" # Pfad zu deinem SSH-Schlüssel - -# Funktion, um alle VMs auf einem Proxmox-Server zu starten -start_vms_if_needed() { - local server=$1 - echo "Verbinde mit Server: $server" - - # Liste der VMs, die derzeit nicht laufen - ssh -i "$SSH_KEY_PATH" "$SSH_USER@$server" "qm list | grep -v 'status running' | awk '{print \$1}'" | while read vmid; do - echo "Starte VM mit ID: $vmid" - # VM starten - ssh -i "$SSH_KEY_PATH" "$SSH_USER@$server" "qm start $vmid" - done -} - -# Funktion für das Update, Upgrade und Bereinigung auf einer VM -update_vm() { - local server=$1 - local vmid=$2 - local was_running=$3 # Flag, ob die VM ursprünglich lief (1 = ja, 0 = nein) - - echo "Führe Update und Upgrade für VM ID $vmid auf Server $server aus" - - # Update und Upgrade auf der VM durchführen - ssh -i "$SSH_KEY_PATH" "$SSH_USER@$server" << EOF - qm terminal $vmid -- /bin/bash -c " - echo 'Update starte auf VM $vmid...' - apt-get update && apt-get upgrade -y && apt-get autoremove -y && apt-get clean - echo 'Update abgeschlossen auf VM $vmid' - " -EOF - - # Wenn die VM ursprünglich nicht lief, nach dem Update wieder herunterfahren - if [ "$was_running" -eq 0 ]; then - echo "Fahre VM mit ID $vmid nach dem Update herunter." - ssh -i "$SSH_KEY_PATH" "$SSH_USER@$server" "qm stop $vmid" - fi -} - -# Funktion, um alle VMs auf einem Server zu überprüfen und zu aktualisieren -check_and_update_vms() { - local server=$1 - echo "Überprüfe VMs auf Server: $server" - - # Alle VMs durchgehen und sicherstellen, dass sie laufen - ssh -i "$SSH_KEY_PATH" "$SSH_USER@$server" "qm list | awk '{print \$1}' | tail -n +2" | while read vmid; do - # Prüfen, ob VM läuft - status=$(ssh -i "$SSH_KEY_PATH" "$SSH_USER@$server" "qm status $vmid") - was_running=0 - - if [[ "$status" == *"running"* ]]; then - # VM läuft, keine Notwendigkeit zum Starten - was_running=1 - else - # VM läuft nicht, starte sie - start_vms_if_needed "$server" - fi - - # Nach dem Starten das Update/Upgrade durchführen - update_vm "$server" "$vmid" "$was_running" - done -} - -# Hauptprozess, alle Server abarbeiten -for server in "${PROXMOX_SERVERS[@]}"; do - check_and_update_vms "$server" -done - -echo "Alle VMs wurden aktualisiert, bereinigt und nach Bedarf heruntergefahren."