Wake-on-LAN über SSH mit Unifi und automatischer Linbo-Synchronisation

In unserer Schule nutzen wir Wake-on-LAN (WOL), um die PCs automatisch einzuschalten, die Images zu synchronisieren und sie danach wieder herunterzufahren. Die Lösung läuft vollständig automatisiert per Cron.

Da es einige Beiträge bereits zu dem Thema gibt, und wir das nicht Netzwerktechnisch sauber konfiguriert bekommen, hier unser Workaround. Vielleicht hilft es dem ein oder anderem…


1. Wake-on-LAN via SSH

Skript: /usr/local/bin/ssh-wol/wakeonlan

#!/bin/bash
#
# Wake-on-LAN Umleitung via z.B. Unifi
#

ssh -i ~/.ssh/id_rsa root@10.0.0.254 "wakeonlan $@"
  • Leitet WOL-Pakete über einen zentralen Unifi-Controller oder Switch.
  • $@ übernimmt die MAC-Adressen der Rechner.
  • SSH-Verbindung erfolgt passwortlos über den privaten Schlüssel ~/.ssh/id_rsa.

2. Linbo remote sync

Skript: /usr/local/bin/sync_pcs.sh

#!/bin/bash
#
# Linbo remote: PCs aufwecken, sync, halt
#

PATH=/usr/local/bin/ssh-wol:$PATH

/usr/sbin/linbo-remote -b 30 -u -g linux-efi -w 60 -n -p sync:1,halt | tee -a /var/log/sync_pcs.sh.log
  • linbo-remote startet die Rechner, synchronisiert die Images (sync:1) und fährt sie danach herunter (halt).
  • Die Ausgabe wird in /var/log/sync_pcs.sh.log protokolliert.
  • PATH wird angepasst, damit das ssh-wol Skript gefunden wird.

3. Automatisierung per Cron

Wir lassen das Ganze täglich an Schultagen laufen:

15 23 * * 1-5 /usr/local/bin/sync_pcs.sh > /dev/null
  • 15 23 → Ausführung um 23:15 Uhr
  • 1-5 → Montag bis Freitag
  • > /dev/null → Konsolenausgabe wird unterdrückt (Logs sind im Skript)