Geplante und externe Backups für Nibbly
Backups gehören zu den Funktionen, an die man oft erst denkt, wenn schon etwas schiefgegangen ist. Nibbly behandelt sie jetzt als festen Teil des Publishing-Workflows: lokale Snapshots für schnelle Wiederherstellung, geplante ZIP-Archive für den Notfall und optionale Kopien außerhalb des Servers.
Von Seiten-History zu vollständigen Website-Snapshots
Nibbly speicherte bereits JSON-Historien pro Seite, wenn Inhalte geändert wurden. Das bleibt der schnellste Weg, eine einzelne versehentliche Änderung zurückzunehmen. Die neue Backup-Ebene geht weiter: Das Dashboard kann ein vollständiges Website-ZIP mit Content, Templates, Assets, Konfiguration und Core-Dateien erstellen.
Manuelle ZIP-Backups werden als geschützte Snapshots markiert. Sie bleiben im Backup-Pool, bis ein Admin sie löscht. Das ist nützlich vor riskanten Änderungen, Migrationen oder Übergaben an Kunden.
Cron-gesteuerte geplante Backups
Für regelmäßigen Schutz enthält Nibbly jetzt einen cron-freundlichen Runner:
php cli/backup.php --action=run
Das Dashboard zeigt die passende Cron-Zeile für den aktuellen Installationspfad. Eine typische Einrichtung läuft einmal pro Nacht und schreibt den Fortschritt nach backups/backup.log.
Die Aufbewahrung folgt einem praktischen Grandfather-Father-Son-Modell mit täglichen, wöchentlichen, monatlichen und jährlichen Backup-Stufen. Zusätzlich kann ein Speicherlimit gesetzt werden, damit ältere nicht-manuelle Backups entfernt werden, bevor der Server vollläuft.
Externe Ziele
Ein Backup, das nur auf demselben Server liegt, ist hilfreich, aber nicht genug. Geplante ZIPs können nach der lokalen Erstellung jetzt zu externen Speichern hochgeladen werden. Die ersten unterstützten Ziele sind:
- Dropbox
- Google Drive
- Microsoft OneDrive
- SFTP / SCP
- S3-kompatibler Speicher
- WebDAV
Dropbox, Google Drive und OneDrive bringen browserbasierte Verbindungsflows im Dashboard mit. Nach dem Verbinden speichert Nibbly ein Refresh Token, damit Cronjobs künftige Backups automatisch hochladen können.
Für Flat-File-Websites gedacht
Die Umsetzung bleibt Nibblys Flat-File-Modell treu. Backups sind ZIP-Dateien, Einstellungen liegen in JSON, und der CLI-Runner arbeitet ohne Datenbank oder Queue Worker. Fehler beim externen Upload werden gemeldet, aber das lokale Backup bleibt erhalten. Secrets werden im Dashboard maskiert und aus der archivierten Kopie von content/settings.json entfernt.
Das Ergebnis ist ein Backup-Workflow, der vertraut wirkt, wenn man WordPress-Backup-Plugins oder Hosting-Panels kennt, aber klein genug für einfaches PHP-Hosting bleibt.