Proxmox

PBS automatisch per Wake-on-LAN starten

Proxmox Backup Server (PBS) per Wake-on-LAN automatisch starten und nach abgeschlossenen Backup-Jobs wieder herunterfahren – für stromsparendes Backup-Setup.

Thomas 20. Oktober 2025 2 Min. Lesezeit 4 Aufrufe 12. März 2026

Übersicht

Dieser Artikel beschreibt, wie man einen Proxmox Backup Server (PBS) per Wake-on-LAN (WoL) automatisch startet und ein Bash-Skript einrichtet, das den Server nach Abschluss aller Backup-Jobs herunterfährt.

Hinweis: Häufiges Starten und Herunterfahren bei laufenden Festplatten ist für HDDs nicht unbedingt gesund.

Ablauf

  1. Ein Hook-Skript sendet vor jedem Backup ein WoL-Paket an den PBS
  2. Das System wartet 5 Minuten, damit der PBS hochfahren kann
  3. Der reguläre Backup-Job startet
  4. Auf der PBS-Seite fährt der Server automatisch herunter, sobald keine Jobs mehr laufen

Einrichtung auf der PBS-Seite

Wake-on-LAN aktivieren

apt update && apt install wakeonlan ethtool

In /etc/network/interfaces folgende Zeile zum Interface hinzufügen:

post-up /sbin/ethtool -s $IFACE wol g

Beispielkonfiguration:

auto lo
iface lo inet loopback

allow-hotplug eno1
iface eno1 inet manual
        address 192.168.1.10/24
        gateway 192.168.1.254
        post-up /sbin/ethtool -s $IFACE wol g
systemctl restart networking

Auto-Shutdown-Skript erstellen

nano /usr/local/bin/pbs-auto-shutdown.sh
#!/bin/bash
# /usr/local/sbin/pbs-wait-and-shutdown.sh
# Wartezeit bevor die Prüfschleife startet (1 Stunde)
sleep 3600

INTERVAL=300

while true; do
  JOB_JSON=$(proxmox-backup-manager task list --output-format json 2>/dev/null)
  JOB_JSON_NOSPACE=$(echo "$JOB_JSON" | tr -d '[:space:]')

  if [[ "$JOB_JSON_NOSPACE" == "[]" ]]; then
    echo "$(date): Keine aktiven PBS-Jobs mehr – starte Shutdown."
    systemctl poweroff
    exit 0
  else
    echo "$(date): PBS-Jobs aktiv, warte $INTERVAL s..."
  fi

  sleep $INTERVAL
done
chmod +x /usr/local/bin/pbs-auto-shutdown.sh

Cron-Job einrichten:

crontab -e
@reboot /usr/local/bin/pbs-auto-shutdown.sh >> /dev/null 2>&1

Einrichtung auf der PVE-Seite

Hook-Skript erstellen

nano /usr/local/bin/vzdump-hook-script.sh
#!/bin/bash

# MAC-Adresse und IP des Backup-Servers anpassen
MAC="A8:A1:59:DB:64:25"
HOST="192.168.1.20"

case "$1" in
    job-init)
        echo "$(date) - Sende Wake-on-LAN an $MAC..."
        /usr/bin/wakeonlan $MAC

        echo "$(date) - Warte 5 Minuten, damit der Backup-Server hochfahren kann..."
        sleep 300

        echo "$(date) - Fortfahren mit dem Backup."
        ;;
esac
chmod +x /usr/local/bin/vzdump-hook-script.sh

Hook-Skript in vzdump.conf einbinden

nano /etc/vzdump.conf
script: /usr/local/bin/vzdump-hook-script.sh

Damit ist die automatische Wake-on-LAN-Integration zwischen PVE und PBS vollständig konfiguriert.

Kommentare

0

Noch keine Kommentare. Sei der Erste!

Kommentar schreiben

Kommentare werden vor der Veröffentlichung geprüft.