131 lines
4.8 KiB
Markdown
131 lines
4.8 KiB
Markdown
# 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](https://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**
|
|
```sql
|
|
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
|
|
|
|
### **Hilfreiche Links**
|
|
- [Crontab-Guru](https://crontab.guru/) - Online-Crontab-Editor und Validator
|
|
- [Cron-Wiki](https://en.wikipedia.org/wiki/Cron) - Detaillierte Crontab-Dokumentation
|
|
- [Crontab-Examples](https://crontab.guru/examples.html) - Häufige Crontab-Beispiele
|
|
|
|
### **Kontakt**
|
|
Bei Fragen oder Problemen wenden Sie sich an das Medi-WOL-Entwicklungsteam.
|