Files
0012/todo/05-plesk-cron.md
T
Frank Schwenk 01de7ed4fb feat: SMTP mail stack and separate server.env deploy
Add mail.php with STARTTLS sending, test scripts, server.env split from
local .env, admin@ postbox docs, DKIM DNS support-ticket notes, and todo 11
for boka relay.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 23:19:03 +02:00

1.9 KiB
Raw Blame History

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