Backup ist ein eigenes Joomla-Produkt. Der Cloudspeicher steckt in PRO1 bis PRO500, nicht als Add-on. Archive liegen nicht als Dateien im Portal.
Backup (`com_cmspatrolbackup`) sichert Dateien und Datenbank unabhängig von Integrity. Es braucht keine Integrity-Installation. Bezahlen geht nur im Portal. Archive, Dumps und Speicherzugänge reisen nie im Heartbeat.
Was in einer Sicherung steckt
- Zuerst ein SQL-Dump der Tabellen mit Joomla-Präfix, danach die Website-Dateien in einem ZIP — in zeitlich begrenzten Schritten, damit der Auftrag nicht am PHP-Timeout scheitert
- Ausgelassen: Cache, tmp, logs, das Backup-Verzeichnis selbst und Sitzungstabellen im Dump
- SHA-256 der inneren ZIP-Datei; nach einer Entschlüsselung wird derselbe Digest erneut geprüft
- Standardordner auf der Website: geschützter Pfad unter der Backup-Komponente. Die Datei `configuration.php` gehört zur Dateisicherung — der Ordner darf nicht aus dem Web lesbar sein
- Das ist kein LVM- oder Hosting-Snapshot. Produktionstermine laufen per CLI-Cron (`cmspatrolbackup:run`) oder über die lokale Continue-URL auf der Website
FREE
- Manuelle lokale Vollsicherung in diesem Ordner
- Keine Zeitpläne, keine Cloud-Verbindung, kein CMSPatrol-Cloudspeicher
- Keine benannten Fernziele, keine optionale Archivverschlüsselung über die Cloud-Strecke, kein Heartbeat
PRO1 bis PRO500 — gemeinsame Funktionen
- Cloud-Konto, Backup-Lizenzschlüssel und ausdrückliche Verbindungszustimmung sind Pflicht, bevor Register oder Heartbeat laufen
- Dashboard: Lizenz und Cloud-Status, belegter und freier Speicher, Anzahl Sicherungen, letzter Erfolg, letzte Wiederherstellung, Fehler, gebuchtes Paket
- Menü auf der Website: Backups, Zeitpläne, Speicher, Cloudspeicher, Wiederherstellung, Protokolle, Einstellungen, Lizenz
- Schnellaktionen: Sicherung starten, wiederherstellen, Speicher verwalten, Portal öffnen — ohne Zahlung im Agenten
- Zeitpläne sind opt-in: tägliche, monatliche und jährliche Generationen in der Zeitzone der Website, mit Aufbewahrung. Messen der Größe startet keine Jobs
- Optionale Archivverschlüsselung AES-256-GCM in 4-MiB-Blöcken (`CMSBENC1`). Die Passphrase liegt nur auf der Website, verschlüsselt mit dem Joomla-Secret. Es gibt kein Key-Escrow: ohne Passphrase sind verschlüsselte Archive nicht wiederherstellbar
- Lokales Audit (hash-verkettet): Job-, Restore-, Ziel-, Lizenz- und Download-Metadaten — nie Archivinhalt, Dumps, Passphrasen oder Speichergeheimnisse. Diese Tabelle geht nicht in die Cloud
- Cloud-angestoßenes Backup-Paket nach lokaler Cloud-Update-Zustimmung und Auftrag aus Portal oder Cloud-Administration — über den Backup-Heartbeat, nicht über Integrity
- Integrity-Heartbeats transportieren keine Archive, keine Quoten und keine Speicherzugänge
CMSPatrol-Cloudspeicher (im Paket)
- Die Edition ist der Speicher: PRO1 = 1 GB, PRO10 = 10 GB, PRO50 = 50 GB, PRO100 = 100 GB, PRO250 = 250 GB, PRO500 = 500 GB. Kein Extra-Kauf von Gigabyte, keine Add-ons
- Objekt-Speicher in einem deutschen Rechenzentrum bei Hetzner, S3-kompatibel, Prefix `ss/{site_uuid}/`
- Zugangsdaten kommen nur Cloud → Backup-Agent, nach Berechtigung, globaler S3-Konfiguration und lokaler Zustimmung. Ohne Berechtigung darf der Agent gespeicherte Schlüssel nicht weiter nutzen
- Archive erscheinen nicht als Dateien in der Portal-Oberfläche. Das Portal zeigt Kontingent und vom Agenten gemeldeten Verbrauch, nicht den ZIP-Inhalt
- Standard nach dem ersten Anlegen: nach erfolgreichem Upload nur noch remote (lokales ZIP wird gelöscht; Download holt vom Ziel). Das kannst du je Ziel umstellen
- Über 500 GB ist Einzelangebot, kein Shop-Paket
Eigene Speicherziele (zählen nicht gegen das CMSPatrol-Kontingent)
- Mehrere benannte Ziele, eines davon aktiv für Job-Uploads. Zugangsdaten nur auf der Website, verschlüsselt, Verbindungstest vor dem Speichern
- S3-kompatibel (zum Beispiel Hetzner Object Storage oder Wasabi): Pfad-Style-URLs und AWS Signature Version 4, Multipart ab 8 MB
- WebDAV
- SFTP (PHP ssh2): Passwort oder optionaler privater Schlüssel. Die Host-Key-Prüfung dieses Treibers ist begrenzt — das ist bekannt
- Operator-eigene Ziele defaulten auf „lokal behalten“ nach dem Upload; du kannst auf „nur remote“ stellen
- Kunden-S3/WebDAV/SFTP-Geheimnisse stehen nie im Heartbeat
Wiederherstellung
- Live-Wiederherstellung in die laufende Website aus einem abgeschlossenen Backup. Vorher: SHA-256 (nach Entschlüsselung falls nötig), freier Speicher unter `JPATH_ROOT`, ausdrückliche Bestätigung mit dem Joomla-Sitename
- Dieselbe Sitename-Bestätigung brauchst du, um einen Wiederherstellungspunkt von Hand zu löschen. Die automatische Aufbewahrung löscht ohne diese Abfrage; angeheftete Punkte überspringt sie
- Nur entpacken: Dateien und `database.sql` in einen Ordner unter der Website (`tmp/cmspatrol-extract/…` oder `cmspatrol-extract/…`), ohne SQL auf die Live-Datenbank anzuwenden
- Live-Restore überspringt Sitzungstabellen und überschreibt das Backup-Verzeichnis nicht aus dem ZIP
- Nach einer frischen Joomla-Installation: vorherige Site-UUID aus dem Portal (Meine Websites) im Backup-Cloud-Bildschirm eintragen. Register mit `recovery: true` bindet die Instanz wieder; eine unbekannte UUID legt keine neue Site an. Der Lizenzschlüssel bleibt das Geheimnis. Danach listet der Agent nur Objekte unter `ss/{geprüfte uuid}/` und kann sie in die Job-Liste für Restore übernehmen. Die Verschlüsselungs-Passphrase bleibt lokal
- Vier-Augen-Freigabe vor Restore ist Roadmap auf Backup, nicht Bestandteil der aktuellen PRO1–PRO500-Pakete
Was Backup nicht ist
- Kein Integrity-Feature und kein Statistik-Add-on
- Kein stilles Hochladen von Website-Inhalten ins Portal
- Kein Bezahlvorgang im Agenten
- MSP als eigenes Produkt gibt es nicht