PBS WOL

omavoss

Active Member
Mar 15, 2024
170
29
28
Hallo,
PBS ist zurZeit always on; es wäre aber wünschenswert, PBS nur bei Bedarf laufen zu lassen. Nun habe ich dafür dieses Script gefunden:

https://gist.github.com/ZsZs73/8bf255eeea82004c4150f6add07af527

kann aber damit wegen meiner mangelhalften Kenntnisse nichts rechtes anfangen.

Kann mir bitte jemand von euch da draußen nähere Hinweise geben? Wo muss dieses Script hin, wie kriege ich es ausführbar und was sollte ich für WOL auf dem PBS außerdem tun? Gibt es vielleicht im PBS au fdem GUI für WOL Einstellungen. weil das Script schon Jahre alt ist?

Ansonsten bin ich mit PBS und PVE außeordentlich zufrieden, ein geiles Gespann!
 
Last edited:
PBS ist zurZeit always on; es wäre aber wünschenswert, PBS nur bei Bedarf laufen zu lassen.

Nur als Alternative zum WoL: viele BIOS-Varianten erlauben das Aufwecken gemäß einer eingestellten Uhrzeit. Herunterfahren kann der PBS dann entweder per stumpfer Crontab oder per Befehl vom PVE.

Wie so oft: viele Wege führen irgendwo hin ;-)
 
  • Like
Reactions: Johannes S and news
@UdoB :

Ich würde die von Dir vorgeschlagene Alternative zu WOL bevorzugen. Nur:
Einschalten des PBS mittels BIOS-Einstellungen geht täglich zur selben Uhrzeit, das bräuchte ich nicht, einmal monatlich würde reichen, Es gibt aber dafür keine Möglichkeit.

Ich würde als "Turnschuh-Administrator" den PBS einschalten und nach vollzogenen Backups per Kommando vom PVE wieder ausschalten, "um die Turnschuhe zu schonen".

Auf dem GUI vom PVE finde ich nichts zum Herunterfahren des PBS, welchen Befehl muss ich dafür auf dem CLI des PVE ausführen?


Dnke für Deine Hinweise und schöne Grüße.
 
Last edited:
welchen Befehl muss ich dafür auf dem CLI des PVE ausführen?
"shutdown" ;-)

Eigentlich ist heutzutage ja "systemd" das aktuelle Werkzeug - siehe systemctl list-timers. Aber der klassische Cron fühlt sich oft einfacher an.

Falls du den PBS "irgendwann mal" tagsüber einschaltest und ungefähr weißt, wann er fertig ist und herunterfahren soll, genügt diese eine Zeile:

Code:
5 1 * * *   root   /usr/sbin/shutdown -h now

...in einer Datei unterhalb /etc/cron.d/.

man 5 crontab beschreibt die Syntax und zeigt Beispiele; "5 1 ..." steht für "fünf nach eins" = "01:05", jeden Tag. Alles ganz einfach ;-)
 
Last edited:
Noch ein Tipp, mit solch einem "Ding" kann man beliebiges anstellen:

AVM FRITZ!DECT 210 Smart Home Steckdose​

 
  • Like
Reactions: omavoss
"shutdown" ;-)

Eigentlich ist heutzutage ja "systemd" das aktuelle Werkzeug - siehe systemctl list-timers. Aber der klassische Cron fühlt sich oft einfacher an.

Falls du den PBS "irgendwann mal" tagsüber einschaltest und ungefähr weißt, wann er fertig ist und herunterfahren soll, genügt diese eine Zeile:

Code:
5 1 * * *   root   /usr/sbin/shutdown -h now

...in einer Datei unterhalb /etc/cron.d/.

man 5 crontab beschreibt die Syntax und zeigt Beispiele; "5 1 ..." steht für "fünf nach eins" = "01:05", jeden Tag. Alles ganz einfach ;-)
Mit "shutown -h now" auf dem CLI des PVE fahre ich doch den PVE runter, nicht den PBS, oder habe ich das komplett falsch verstanden?

Aber je länger ich überlege . . . ich muss auf dem CLI des PBS den shutdown-Befehl ausführen bzw. das durch einen Cron-Job ausführen lassen. Damit verbunden wäre es dann wohl auch, im BIOS des PBS die Option " erneutes Starten nach Stromausfall" zu deaktivieren.

@news :
Eine solche smarte Steckdose habe ich bereits an meinem Balkonkraftwerk, um die Ertragswerte zu prüfen. Auf den Einsatzfall eines solchen Gerätes zum Schalten des PBS bin ich bisher nicht gekommen, aber sollte der PBS nicht ohne ihn sauber herunterzufahren einfach durch die Trennung vom Strom stumpf ausgeschaltet werden? Nun gut, einen Stromausfall verkraftet der PBS doch auch, warum also nicht auch ihm mittels smarter Steckdose einfach stumpf vom Strom zu trennen und erforderlichenfalls zuzuschalten?

Ich vergaß es bisher zu erwähnen, dass hier der PVE und der PBS auf jeweils einer dedizierten Maschine laufen . . .

Ich sehe schon, eine Kombination aller eurer Hinweise wird wohl zum Erfolg führen. Ich muss mir das ganze Prozedere durchdenken und poste hier, zu welchem Ergebnis mit welchem Erfolg ich gekommen bin.

Vielen Dank für die Denkanstöße und die Hinweise, freundlichste Grüße.
 
Last edited:
ich muss auf dem CLI des PBS den shutdown-Befehl ausführen
Du kannst mit ssh vom PVE aus, Befehle auf der PBS-CLI ausführen. Genau das macht das in Post 2 verlinkte Script.

Code:
ssh root@$host -p 22 poweroff < /dev/null &                # Backupserver wird heruntergefahren

Die IP wird als Variable host übergeben.
 
  • Like
Reactions: news
mein zweiter PBS hängt an ner Tasmota Steckdose, sobald diese Strom bekommt (per Cron Job Samstags) fährt dieser hoch, macht updates und synct dann per script vom ersten PBS, danach synce ich noch ne Backup HDD per rsync, wenn alles fertig ist fährt der zweite PBS wieder runter und das script schaltet die Steckdose wieder aus.

Funktioniert seit Monaten ohne Probleme, ich habe noch ne 2.5 Gbit Netzwerkkarte in beiden drin die direkt verbunden sind, über diese wird dann jeweils gesynct mit ca 230 MB pro Sekunde.
 
Last edited:
  • Like
Reactions: Johannes S
@Ernst T. :

zum WOL-Script zwei kleine Unsicherheiten meinerseits mit der Bitte um Antwort:
Das NIC vom PBS heißt hier enp3s0, das vom PVE vmbr0 , also nicht wie im Script als Beispiel angegeben eth0, was ist hier richtigerweise einzutragen? Meine storageid heißt backups, auch das ist der richtige Eintrag?

Das Script gehört genau wohin, wahrscheinlich auf dem PVE nach /etc/pve/jobs.cfg, hab ich gemacht. Wie wird es nun gestartet?

Meine Denkweise: die PBS-Maschine ist ausgeschaltet. Ich schubse auf dem PVE das Backup einer oder mehrerer LXC an, das Script weckt die PBS-Maschine auf, der PVE schiebt die Backups und wenn das erfolgreich erledigt ist, fährt das Script die PBS-Maschine runter und schaltet sie aus.

Ich bitte um Entschuldigung für die Fragen und Unsicherheiten, für euch als Profis ist das sicherlich alles Kindergarten. Ich möchte gern richtig verstehen, was genau da passiert, um es evtl. irgenwann einmal nachvollziehen zu können. Andererseits möchte ich auch nicht die bestehende funktionierende Konfiguration beschädigen.

Ich probiere das alles jetzt aus und melde mich, wenn etwas nicht klappt. Bis dahin schöne Grüße.

EDIT:
Ich habe den PBS im BIOS S5 (Neustart nach Stromausfall) ausgeschaltet und die Maschine sauber heruntergefahren, Nun will ich nachdem ich das WOL-Script auf den PVE kopiert habe einen Backup-Job auf dem PVE ausführen, kommt auch nach einer Wartezeit von ca. 5 Minuten der Fehler:
2025-09-17 20_46_22-Proxmox-Links – Datei-Explorer.png
Die PBS-Maschine bleibt aus.
Was mache ich falsch? Muss ich im WOL-Script bei IP-Adresse des Host den Port 8007 hinzufügen?

Negativ, das Hinzufügen des Ports beim Host-Eintrag im WOL-Script war nicht erfolgreich:
2025-09-17 21_09_58-pve – Proxmox neu – WinSCP.png
 
Last edited:
wie sieht denn dein Script nun genau aus? WOL geht über die Mac Adresse dazu muss man der Netzwerkkarte auch sagen das sie per WOL aufgeweckt werden darf ethtool -s eth0 wol g, das muss auch im Bios aktiviert sein sonst geht das nicht
 
  • Like
Reactions: news
wie sieht denn dein Script nun genau aus? WOL geht über die Mac Adresse dazu muss man der Netzwerkkarte auch sagen das sie per WOL aufgeweckt werden darf ethtool -s eth0 wol g, das muss auch im Bios aktiviert sein sonst geht das nicht
Noch als Ergänzung möchte ich einbringen, dass die Biosoption des WOL zum Netzwerk-Interface eingeschaltet werden muss! Mit dem angegebenen Kommando, der noch angepasst werden müsste, wird dann diese WOL Funktion automatisiert aktiviert. Beim herunterfahren geht der Server dann nicht ganz aus und verbraucht dann der immer noch ein Ruhestrom; der ist das wirklich nicht aus, und kann deshalb auf der Netzwerkschnittstelle ngesprochen werden.
wenn das gesamte Zusammenspiel aber nicht funktioniert, dann kann man den Server nicht mehr remote aufwachen lassen. Deswegen auch der Vorschlag mit der schaltbaren Stromsteckdose. Ist ZFS als Datei- und Filesystem im Einsatz, braucht man unbedingt auch noch eine USV. Sie garantiert, dass die Daten auch wirklich geschrieben werden und vom Ramm auf den Datenträger gelangen, das bei Stromausfall. Es ist also immer zu garantieren, dass ein Rechner sauber runtergefahren wird und so viel Zeit hat wie er braucht, um das zu bewerkstelligen.
 
  • Like
Reactions: bluesite
Noch als Ergänzung möchte ich einbringen, dass die Biosoption des WOL zum Netzwerk-Interface eingeschaltet werden muss! Mit dem angegebenen Kommando, der noch angepasst werden müsste, wird dann diese WOL Funktion automatisiert aktiviert. Beim herunterfahren geht der Server dann nicht ganz aus und verbraucht dann der immer noch ein Ruhestrom; der ist das wirklich nicht aus, und kann deshalb auf der Netzwerkschnittstelle ngesprochen werden.
wenn das gesamte Zusammenspiel aber nicht funktioniert, dann kann man den Server nicht mehr remote aufwachen lassen. Deswegen auch der Vorschlag mit der schaltbaren Stromsteckdose. Ist ZFS als Datei- und Filesystem im Einsatz, braucht man unbedingt auch noch eine USV. Sie garantiert, dass die Daten auch wirklich geschrieben werden und vom Ramm auf den Datenträger gelangen, das bei Stromausfall. Es ist also immer zu garantieren, dass ein Rechner sauber runtergefahren wird und so viel Zeit hat wie er braucht, um das zu bewerkstelligen.
Hallo,
ich kann im BIOS keine Option finden, WOL einzuschalten. Damit ist wahrscheinlich die Möglichkeit, den Mini-PC per WOL aufzuwecken, nicht gegeben.
ZFS ist nicht im Einsatz. Ich probiere es jetzt damit, den PBS händisch einzuschalten und nach Ausführung der Backup-Jobs per SSH herunterzufahren.

Die Möglichkeit, eine smarte Steckdose einzusetzen, bleibt immer noch.

Das Script sieht zur Zeit so aus (die letzten drei Oktetts der MAC-Adresse anonymisiert):
Code:
#----------------------- Variablen --------------------------------------------------------------------------------#

PATH=/usr/sbin:${PATH}
# set -x                                                        # SET-X damit die Ausfuehrung protokolliert wird
# storeid=pbs-storage                                             # Variable - um welches Storage handelt es sich
storageid=backups
# mac="aa:bb:cc:dd:ee:ff"                                         # MAC Adresse des PBS-Servers
mac="40:8d:5c:xx:xx:xx"
# host="1.1.1.1"                                                  # Hostname oder IP des PBS-Servers
host=²192.168.115.132"
nic=eth0                                                        # Netzwerk-Karte über die WOL läuft
# nic=enp3s0

Danke und schöne Grüße.

Edit:
Habe nun mal Perplexity bemüht und fange an zu debuggen. Macht Spaß und ich habe Zeit dafür. Ich melde mich, wenn ich neue Erkenntnisse habe.
 
Last edited:
welche Hardware hast Du denn genau? Eigentlich kann jeder aktuelle Rechner WOL selbst meine alten Rechner die über 10 Jahre alt sind können das.
 
Hallo, in Sachen Proxmox bin ich zwar noch leuchtend Grün, aber zu WoL: Bedenke, das braucht zusätzlich mehr Strom. Als ich es bei meiner Synology DS223j probierte, lag der Verbrauch "ausgeschaltet" bei 1 bis 2 Watt. Da die aber eh einen eingebauten Timer hat, hab ich das wieder sein lassen... Autostart nach "Stromausfall" funktionierte nicht.
Aber so ein "normaler" PC hat ja meißt die Funktion Power on after power failure oder ähnlich.
d. h. du fährst den Server normal herunter und wenn Smartsteckdose 5 Minuten Verbrauch weniger als 5 Watt misst, Steckdose aus (oder Stecker ziehen).
Zum Testen: Einige Minuten nach Stromtrennung warten, Steckdose einschalten, Server startet.

Wenn das geht, meiner Meinung nach das einfachste, Strom sparendste und zugleich bei einer Überspannung im Hausnetz etwas mehr Überlebenschancen.
 
Wenn der Strom wirklich aus ist dann wird vermutlich nach einigen Monaten die CMOS Batterie leer sein. Dann muss diese gewechselt und die Einstellungen im BIOS wieder gemacht werden.
 
Hallo, in Sachen Proxmox bin ich zwar noch leuchtend Grün, aber zu WoL: Bedenke, das braucht zusätzlich mehr Strom. Als ich es bei meiner Synology DS223j probierte, lag der Verbrauch "ausgeschaltet" bei 1 bis 2 Watt. Da die aber eh einen eingebauten Timer hat, hab ich das wieder sein lassen... Autostart nach "Stromausfall" funktionierte nicht.
Aber so ein "normaler" PC hat ja meißt die Funktion Power on after power failure oder ähnlich.
d. h. du fährst den Server normal herunter und wenn Smartsteckdose 5 Minuten Verbrauch weniger als 5 Watt misst, Steckdose aus (oder Stecker ziehen).
Zum Testen: Einige Minuten nach Stromtrennung warten, Steckdose einschalten, Server startet.

Wenn das geht, meiner Meinung nach das einfachste, Strom sparendste und zugleich bei einer Überspannung im Hausnetz etwas mehr Überlebenschancen.
so mach ich das bei meinem auch, Script startet einfach die Steckdose, mit der Batterie hatte ich nie Probleme da er ja wöchentlich hochgefahren wird für ca 30 bis 45 Minuten
 
Alles neue Erkenntnisse, die Variante mit der smarten Stekdose scheint bisher auch von meiner Seite favorisiert zu werden. Smart mit DECT von AVM oder Smart per WiFi ist doch egal, oder? Hauptsache das Ding schaltet den Strom zu, Nur das Heruntefahren des PBS von Ferne muss ich mir doch überlegen. Ich müsste auf einem Windows-Client einen SSH-Befehl hinterlegen können, ich muss nachlesen, wie ich das bewerkstelligen kann.

@bluesite :
Zur Hardware:
Ich weiß nicht, wo ich im BIOS suchen soll, ich habe nichts zu WOL gefunden. Ich hänge mal einpar Bilder an, vll. siehst Du etwas passendes.

IMG_20250919_181529[1].jpgIMG_20250919_181449[1].jpgIMG_20250919_181441[1].jpg

Danke un beste Grüße.
 
Last edited:
das rauf und runterfahren ist kein Problem da macht man einfach nen Hook-Script das den Server vor Starten des Backups entweder per WOL oder die Steckdose schaltet, das selbe beim Ende vom Backup einfach sagen das der Server runterfahren soll und dann die Steckdose wieder ausschalten soll

ein hook script sieht so aus z.B.

Code:
#!/bin/bash
vmid=$3

# fstrim vor backup
#if ($phase eq 'backup-start') {
#system ("/usr/sbin/qm guest exec $vmid -- fstrim -v /boot ; /usr/sbin/qm guest exec $vmid -- fstrim -v /") == 0 ||
#warn "Fehler bei fstrim von $hostname auf VM-$vmid";
#}

if [ "$1" == "job-init" ]; then
    echo "Job init"
fi

if [ "$1" == "backup-start" ]; then
    echo "Backup started"
fi

if [ "$1" == "backup-end" ]; then
    echo "Backup finished"
fi

if [ "$1" == "job-end" ]; then
    echo "PBS runterfahren"
    ssh root@pbs "shutdown"
fi

exit 0
 
Last edited:
  • Like
Reactions: UdoB
das rauf und runterfahren ist kein Problem da macht man einfach nen Hook-Script das den Server vor Starten des Backups entweder per WOL oder die Steckdose schaltet, das selbe beim Ende vom Backup einfach sagen das der Server runterfahren soll und dann die Steckdose wieder ausschalten soll

ein hook script sieht so aus z.B.

Code:
#!/bin/bash
vmid=$3

# fstrim vor backup
#if ($phase eq 'backup-start') {
#system ("/usr/sbin/qm guest exec $vmid -- fstrim -v /boot ; /usr/sbin/qm guest exec $vmid -- fstrim -v /") == 0 ||
#warn "Fehler bei fstrim von $hostname auf VM-$vmid";
#}

if [ "$1" == "job-init" ]; then
    echo "Job init"
fi

if [ "$1" == "backup-start" ]; then
    echo "Backup started"
fi

if [ "$1" == "backup-end" ]; then
    echo "Backup finished"
fi

if [ "$1" == "job-end" ]; then
    echo "PBS runterfahren"
    ssh root@pbs "shutdown"
fi

exit 0
Für dich als Experten ist das sicherlich ganz einfach. Für mich ist allein schon der Begriff "Hook Script" Neuland. Wo genau gehört das hin, wie wird es aktiviert bzw. implementiert?

OT:
Gestern fragte mich eine für ihren PC hilfesuchende Nachbarin, ob ich ihre E-Mail-Accounts in Outlook in Ordnung bringen könne. Sie meinte, ich könne das, was ich bejahte. Sie fragte, ob ich stricken könne, sie könne stricken und ich sagte, nein, stricken kann ich nicht. So hat eben jeder Mensch seine speziellen Kenntnisse.
/OT:

Vielen Dank für Deinen Hinweis auf ein Hook-Script, aber allein der Hinweis darauf nützt mir bei meinen wirklich spärlichen Kenntnissen nichts. Das ist wirklich nicht böse gemeint, ich kann und möchte mir die grundlegenden Kenntnisse dafür in meinem doch fortgeschrittenen Alter nicht mehr aneignen müssen. Proxmox ist und bleibt faszinierend, aber ich komme hier an für mich scheinbar unüberwindliche Grenzen.

EDIT:
Perplexity hilft mir weiter, ich glaube das schaffe ich noch, ein Hook-Script, so wie Du es gepostet hast, zu implementieren.
 
Last edited: