Files
medi-wol/AUTOSTART_README.md

4.8 KiB

Medi-WOL Autostart-System

Übersicht

Das Medi-WOL Autostart-System ermöglicht es, PCs automatisch zu bestimmten Zeitpunkten über Wake-on-LAN zu starten. Es verwendet die Standard-Crontab-Syntax für die Zeitplanung und integriert sich nahtlos in das bestehende Logging-System.

Funktionen

1. Autostart-Konfiguration pro PC

  • Crontab-Syntax: Unterstützt alle Standard-Crontab-Ausdrücke
  • Aktivierung/Deaktivierung: Einzelne PCs können unabhängig voneinander konfiguriert werden
  • Standardwert: "30 7 * * Mon-Fri" (Mo-Fr um 7:30 Uhr)

2. Crontab-Syntax-Unterstützung

  • Minute: 0-59
  • Stunde: 0-23
  • Tag: 1-31
  • Monat: 1-12
  • Wochentag: 0-6 (0=Sonntag) oder Mon, Tue, Wed, Thu, Fri, Sat, Sun

3. Automatische Ausführung

  • Scheduler: Läuft im Hintergrund und prüft jede Minute
  • Logging: Alle automatischen WOL-Ereignisse werden mit Trigger "cron" protokolliert
  • Fehlerbehandlung: Robuste Fehlerbehandlung bei WOL-Ausführung

Verwendung

1. PC mit Autostart hinzufügen

  1. Navigieren Sie zur Hauptseite
  2. Füllen Sie alle Pflichtfelder aus (Name, MAC, IP)
  3. Geben Sie den gewünschten Crontab-Ausdruck ein
  4. Aktivieren Sie die Checkbox "Autostart aktiv"
  5. Klicken Sie auf "PC hinzufügen"

2. Autostart bearbeiten

  1. Klicken Sie auf "Bearbeiten" bei dem gewünschten PC
  2. Ändern Sie den Crontab-Ausdruck oder die Aktivierung
  3. Klicken Sie auf "Speichern"

3. Crontab-Ausdrücke verstehen

  • Hilfe: Klicken Sie auf den Link zu Crontab-Guru
  • Beispiele:
    • 30 7 * * Mon-Fri = Mo-Fr um 7:30 Uhr
    • 0 8 * * 1-5 = Mo-Fr um 8:00 Uhr
    • 0 9 * * 0,6 = Sa und So um 9:00 Uhr
    • */15 * * * * = Alle 15 Minuten

Technische Details

1. Datenbankstruktur

ALTER TABLE pcs ADD COLUMN autostart_cron TEXT DEFAULT '30 7 * * Mon-Fri';
ALTER TABLE pcs ADD COLUMN autostart_enabled BOOLEAN DEFAULT 0;

2. Scheduler-Implementierung

  • Go-Routine: Läuft parallel zum Hauptserver
  • Ticker: Prüft jede Minute auf auszuführende Aufgaben
  • Crontab-Parser: Eigene Implementierung für häufige Anwendungsfälle
  • Graceful Shutdown: Sauberes Beenden bei Server-Herunterfahrt

3. Crontab-Parser-Features

  • Wildcards: * für "alle"
  • Bereiche: 1-5 für "1 bis 5"
  • Wochentage: Mon-Fri für "Montag bis Freitag"
  • Einzelwerte: 30 für "nur 30"

Beispiele

Geschäftliche Anwendungen

  • Büro-PCs: 30 7 * * Mon-Fri - Startet alle Büro-PCs Mo-Fr um 7:30
  • Server: 0 6 * * * - Startet Server täglich um 6:00
  • Backup-Systeme: 0 2 * * 0 - Startet Backup-Systeme sonntags um 2:00

Private Anwendungen

  • Home-Office: 0 8 * * Mon-Fri - Startet Arbeits-PC Mo-Fr um 8:00
  • Gaming: 0 18 * * Fri-Sun - Startet Gaming-PC Fr-So um 18:00
  • Medien-Server: 0 20 * * * - Startet Medien-Server täglich um 20:00

Sicherheit und Monitoring

1. Logging

  • Alle automatischen WOL-Ereignisse werden protokolliert
  • Trigger wird als "cron" gekennzeichnet
  • Vollständige Protokollierung in der Logs-Seite

2. Fehlerbehandlung

  • WOL-Fehler werden geloggt, aber nicht an den Benutzer weitergegeben
  • Scheduler läuft weiter, auch wenn einzelne WOL-Befehle fehlschlagen
  • Robuste Behandlung ungültiger Crontab-Ausdrücke

3. Performance

  • Scheduler prüft nur alle PCs mit aktiviertem Autostart
  • Effiziente Datenbankabfragen
  • Minimale Server-Belastung

Erweiterungen

Zukünftige Features

  • Webhook-Integration: Benachrichtigungen bei erfolgreichen/fehlgeschlagenen Autostarts
  • Erweiterte Crontab-Syntax: Unterstützung für komplexere Ausdrücke
  • Zeitzonen: Lokale Zeitzonen-Unterstützung
  • Bedingte Ausführung: Nur starten wenn PC offline ist

Monitoring und Alerting

  • E-Mail-Benachrichtigungen: Bei fehlgeschlagenen Autostarts
  • Dashboard: Übersicht aller geplanten Autostarts
  • Statistiken: Erfolgsrate und Ausführungszeiten

Fehlerbehebung

Häufige Probleme

  1. PC startet nicht: Überprüfen Sie MAC-Adresse und Netzwerk-Konfiguration
  2. Falsche Zeit: Überprüfen Sie den Crontab-Ausdruck mit Crontab-Guru
  3. Scheduler läuft nicht: Überprüfen Sie die Server-Logs

Debugging

  • Server-Logs: Zeigen alle Scheduler-Aktivitäten
  • Logs-Seite: Zeigt alle WOL-Ereignisse (auch automatische)
  • Crontab-Validierung: Verwenden Sie Crontab-Guru für Tests

Support

Kontakt

Bei Fragen oder Problemen wenden Sie sich an das Medi-WOL-Entwicklungsteam.