Hallo zusammen,
ich möchte gerne ein Script mit euch teilen, worüber ihr ein LXC oder eine VM in Proxmox per WOL starten könnt.
Was muss gemacht werden? Das script muss auf der PVE liegen und bei jedem Start ausgeführt werden. Das geht wie folgt:
crontab -e
in die Console eintragen und @reboot /root/wol.sh
hinzufügen. Pfad zur Datei natürlich anpassen.
Das Script wird somit nach jedem Neustart gestartet.
Beim Absetzen eines WOL von irgendeiner Maschine (auch von einem LXC oder VM) wird die MAC Adresse überprüft ob diese einem LXC oder VM zugeordnet ist. Anschließend wird diese Maschine gestartet. Zusätzlich habe ich mir noch eine Meldung per Telegram eingebaut, welche mir über FHEM die Meldung ausgibt.
wol.sh
#!/bin/bash
re='^[0-9]+$'
while true ; do
echo "\n" | nc -knl -p 9 -u | # listen to udp port 9 for packets, check if it is a magic packet
stdbuf -o0 xxd -c 6 -p |
stdbuf -o0 uniq |
stdbuf -o0 grep -v 'ffffffffffff' |
while read ; do
macWOL="${REPLY:0:2}:${REPLY:2:2}:${REPLY:4:2}:${REPLY:6:2}:${REPLY:8:2}:${REPLY:10:2}"
macWOL=`echo "$macWOL" |tr "[:upper:]" "[:lower:]"`
/usr/sbin/qm list |tr -s ' ' | cut -d ' ' -f 2 | while read -r id ; do
if [[ $id =~ $re ]] ; then
echo "check QEMU VM-ID $id for $macWOL"
/usr/sbin/qm config $id | grep ^net0 | while read -r macstr ; do
macstr=`echo "$macstr" |tr "[:upper:]" "[:lower:]"`
if [[ $macstr == *"$macWOL"* ]]; then
echo "MAC $macWOL found at QEMU VMID $id. Starting VM"
start=$(/usr/sbin/qm start $id 2>&1) ; echo "set TelegramBot _msg VM $id wird gestartet\n$start" | telnet 192.168.0.10 7072
fi
done
fi
done
/usr/sbin/pct list |tr -s ' ' | cut -d ' ' -f 1 | while read -r id ; do
if [[ $id =~ $re ]] ; then
echo "check LXC VM-ID $id for $macWOL"
/usr/sbin/pct config $id | grep ^net0 | while read -r macstr ; do
macstr=`echo "$macstr" |tr "[:upper:]" "[:lower:]"`
if [[ $macstr == *"$macWOL"* ]]; then
echo "MAC $macWOL found at LXC VMID $id. Starting VM"
start=$(/usr/sbin/pct start $id 2>&1) ; echo "set TelegramBot _msg LXC $id wird gestartet\n$start" | telnet 192.168.0.10 7072
fi
done
fi
done
done
done
done
Viel Spaß damit.
Gruß
Steffen
So etwas am besten unter FHEM - Hardware -> Server - Linux veröffentlichen.
Du kannst den Thread gerne dahin verschieben.