# 05 — Plesk Cron (Geplante Aufgaben) **Priorität:** high **Abhängigkeiten:** 01, 03 (Skript muss existieren) **Referenz:** Plesk → Websites & Domains → Geplante Aufgaben ## Ziel Monitoring automatisch alle 5–10 Minuten ausführen. ## Checkliste - [ ] Aufgabe anlegen: **PHP-Skript ausführen** - [ ] Skriptpfad: `httpdocs/monitor.php` (Pfad nach Deployment verifizieren) - [ ] PHP-Version: höchste stabile (z. B. 8.5.7) - [ ] **Aktiv** angehakt - [ ] Ausführen: **Cron-Stil** - [ ] Expression: `*/10 * * * *` (Pull-Checks alle 10 Min) - [ ] Beschreibung: z. B. „0012 external monitoring pull“ - [ ] Benachrichtigen: **Nur Fehler** (siehe unten) - [ ] **Jetzt ausführen** — Exit-Code / Log prüfen - [ ] Optional zweite Aufgabe für leichtgewichtigen Heartbeat-Only-Check (`*/5`) — nur wenn von monitor.php getrennt ## Benachrichtigen: „Nur Fehler“ Erst beim Anlegen der geplanten Aufgabe in Plesk relevant (zusammen mit `monitor.php`). | Option | Bedeutung | |--------|-----------| | **Nicht benachrichtigen** | Cron läuft still; Crash fällt nicht auf | | **Nur Fehler** | Plesk mailt nur bei Skript-Fehler (PHP-Fatal, Exit ≠ 0, stderr) | | **Jedes Mal** | Mail bei jeder Ausführung — bei `*/10` unbrauchbar | **Empfehlung: „Nur Fehler“** — meldet, wenn `monitor.php` auf 0012.de selbst kaputt ist. **Getrennt von Monitoring-Alerts:** Ausfall von `schwenk.online` kommt aus `sendAlert()` → `ALERT_EMAIL`. Plesk-Cron-Mail betrifft nur die Cron-Ausführung auf dem Webspace. ## Cron-Referenz ``` */10 * * * * monitor.php (HTTPS/SSL + stale push check) ``` Plesk nutzt System-Timezone des Servers. ## Akzeptanzkriterien - Aufgabe läuft scheduled ohne manuellen Klick - `data/last-checks.json` Timestamp bewegt sich ## Fehlerbehebung - Skriptpfad relativ zu Domain-Root in Plesk - `max_execution_time` bei vielen URLs erhöhen - Bei Timeout: URLs batching oder Interval vergrößern