Mini-Webserver mit systemd

Manchmal rächen sich ja Kleinigkeiten erst nach einer gewissen Zeit. So ist mir jetzt mit einem Skript aus dem Dezember gegangen. Kurz vor dem Urlaub gab es einen Reboot vom Smarthome-Server  und dabei wurde ein Systemd-Diesnst für WOL nicht sauber gestartet. Ende vom Lied: eine Woche lang in Österreich und keine Möglichkeit ein Backup zu machen.
Dieses Skript startet einen kleinen Web-Server der darauf wartet dass eine bestimmte Seite aufgerufen wird und schickt dann ein WOL-Befehl, damit der Backup-Rechner im Netz hochfährt. So weit, so gut, so simpel.

#!/usr/bin/python
import os
from bottle import route, run, template
@route('/startServer')
def startServer():
    return os.system("/usr/bin/wakeonlan 00:11:22:33:44:55")
@route('/')
def hello():
    return ':-)'
run(host='0.0.0.0', port=8080)

Im Dezember hatte ich noch als host in Zeile 14 explizit eine bestimmte IP-Adresse angegeben, das hat irgendwie nicht hin gehauen und den automatischen Start verhindert. Mit „0.0.0.0“ funktioniert das jetzt. Hier noch die systemd-Datei:

[Unit]
Description=Remote Start Waffe
After=network.target
[Service]
Type=simple
ExecStart=/home/christian/docker/smarthome/remote_start/remote_start.py
[Install]
WantedBy=multi-user.target

Kaum macht man es richtig und überprüft es, dann klappt das auch.

Schreibe einen Kommentar