Ü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
- Ein Hook-Skript sendet vor jedem Backup ein WoL-Paket an den PBS
- Das System wartet 5 Minuten, damit der PBS hochfahren kann
- Der reguläre Backup-Job startet
- 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.