WP Robust Backup
Simple Backup System for Wordpress
by Custom Development · github.com/diegeduld/robust-backup · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/diegeduld/robust-backup/archive/refs/heads/main.zipWP Robust Backup – Setup-Anleitung
Installation
- Lade die Datei
wp-robust-backup.zipherunter - WordPress Admin → Plugins → Installieren → Plugin hochladen
- ZIP auswählen und installieren
- Plugin aktivieren
- Das Plugin findest du unter Werkzeuge → Robust Backup
Grundkonfiguration
Nach der Aktivierung findest du das Plugin unter Werkzeuge → Robust Backup. Der Tab Einstellungen enthält alles Wichtige.
Zeitplan
| Einstellung | Empfehlung | Beschreibung |
|---|---|---|
| Automatisches Backup | Täglich | Für produktive Sites. Wöchentlich reicht für kleine Blogs. |
| Uhrzeit | 03:00 | Nachts, wenn wenig Traffic ist. |
| Aufbewahrung | 5 | Anzahl der Backups die behalten werden. Bei großen Sites weniger (Speicherplatz!). |
Performance-Tuning (für große Sites >10GB)
| Einstellung | Standard | Empfehlung bei Problemen |
|---|---|---|
| DB-Chunk-Größe | 1000 | Auf 500 reduzieren bei Timeout-Fehlern |
| Datei-Batch-Größe | 200 | Auf 100 reduzieren bei Memory-Fehlern |
| Max. Archiv-Größe | 500 MB | Auf 250 MB reduzieren wenn Upload zu Cloud fehlschlägt |
Verzeichnis-Ausschlüsse
Standardmäßig werden diese Verzeichnisse ausgeschlossen:
wp-content/wprb-backups
wp-content/cache
wp-content/upgrade
Weitere sinnvolle Ausschlüsse je nach Setup:
wp-content/updraft
wp-content/ai1wm-backups
wp-content/debug.log
node_modules
.git
Speicherorte einrichten
Lokal auf dem Server
Funktioniert sofort – keine Konfiguration nötig. Backups werden in wp-content/wprb-backups/ gespeichert und per .htaccess vor direktem Zugriff geschützt.
Download via Browser
Ist immer verfügbar. Im Tab Backups gibt es Download-Links für jede einzelne Datei. Auch große Dateien werden gestreamt, ohne PHP-Memory zu sprengen.
Google Drive einrichten
Schritt 1: Google Cloud Projekt erstellen
- Gehe zu Google Cloud Console
- Erstelle ein neues Projekt (z.B. "WP Backup")
- Klicke oben auf Projekt auswählen → dein neues Projekt
Schritt 2: Google Drive API aktivieren
- Gehe zu APIs & Dienste → Bibliothek
- Suche nach "Google Drive API"
- Klicke auf Aktivieren
Schritt 3: OAuth-Zustimmungsbildschirm
- Gehe zu APIs & Dienste → OAuth-Zustimmungsbildschirm
- Wähle Extern (oder Intern, falls du Google Workspace hast)
- Fülle aus:
- App-Name: z.B. "WP Backup"
- Support-E-Mail: deine E-Mail
- Autorisierte Domains: deine Domain (z.B.
deinedomain.de)
- Unter Bereiche (Scopes): Füge
https://www.googleapis.com/auth/drive.filehinzu - WICHTIG: Unter Testnutzer: Füge deine eigene Google-E-Mail Adresse hinzu. Ohne das erhältst du einen "Zugriff blockiert" (Fehler 403) Screen, solange die App im Test-Modus ist.
Schritt 4: OAuth-Anmeldedaten erstellen
- Gehe zu APIs & Dienste → Anmeldedaten
- Klicke + Anmeldedaten erstellen → OAuth-Client-ID
- Anwendungstyp: Webanwendung
- Name: z.B. "WP Backup Client"
- Autorisierte Weiterleitungs-URIs: Kopiere die URI aus dem Plugin!
- Findest du im Plugin unter Speicher ganz unten: "OAuth Redirect URI"
- Sieht so aus:
https://deinedomain.de/wp-admin/admin.php?page=wp-robust-backup&tab=storage&oauth_callback=1
- Klicke Erstellen
- Notiere Client-ID und Client-Secret
Schritt 5: Im Plugin verbinden
- Gehe zu Werkzeuge → Robust Backup → Einstellungen
- Unter Google Drive:
- Trage Client ID ein
- Trage Client Secret ein
- Klicke Einstellungen speichern
- Es erscheint ein Button Mit Google Drive verbinden – klicke darauf
- Melde dich bei Google an und erlaube den Zugriff
- Du wirst zurück zum Plugin geleitet, Status zeigt: ✅ Verbunden
- Aktiviere Google Drive unter Aktive Speicherorte und speichere erneut
Wo landen die Backups?
Die Backups werden in deinem Google Drive unter einem Hauptordner WP-Backup-deinedomain gespeichert. Darin befindet sich für jedes Backup ein eigener Unterordner, z.B. backup-2025-02-05-030000. Dateien werden per Resumable Upload in 5MB-Chunks hochgeladen – auch bei instabiler Verbindung.
Dropbox einrichten
Schritt 1: Dropbox App erstellen
- Gehe zu Dropbox App Console
- Klicke Create app
- Wähle:
- Scoped access
- Full Dropbox (oder App Folder, wenn du den Zugriff einschränken willst)
- Name: z.B. "WP Backup"
- Klicke Create app
Schritt 2: Berechtigungen setzen
- In der App-Konsole → Tab Permissions
- Aktiviere diese Scopes:
files.metadata.writefiles.metadata.readfiles.content.writefiles.content.read
- Klicke Submit
Schritt 3: Redirect URI konfigurieren
- Tab Settings in der Dropbox App Console
- Unter OAuth 2 → Redirect URIs:
- Füge die Redirect URI aus dem Plugin hinzu (gleiche wie bei Google Drive)
- Klicke Add
- Notiere den App Key und App Secret (sichtbar oben auf der Settings-Seite)
Schritt 4: Im Plugin verbinden
- Gehe zu Werkzeuge → Robust Backup → Einstellungen
- Unter Dropbox:
- Trage App Key ein
- Trage App Secret ein
- Klicke Einstellungen speichern
- Es erscheint ein Button Mit Dropbox verbinden – klicke darauf
- Erlaube den Zugriff bei Dropbox
- Du wirst zurück zum Plugin geleitet, Status zeigt: ✅ Verbunden
- Aktiviere Dropbox unter Aktive Speicherorte und speichere erneut
Wo landen die Backups?
Die Backups werden in deiner Dropbox unter /WP-Backups/backup-YYYY-MM-DD-HHMMSS/ gespeichert. Große Dateien werden per Upload Session in 8MB-Chunks hochgeladen.
Backup erstellen
Manuell (Dashboard)
- Werkzeuge → Robust Backup → Dashboard
- Wähle den Backup-Typ:
- Vollständiges Backup: Datenbank + alle Dateien
- Nur Datenbank: Schneller, sichert nur die DB
- Nur Dateien: Sichert nur die WordPress-Dateien
- Fortschrittsbalken zeigt den aktuellen Status
- Bei Problemen: Abbrechen und unter Einstellungen die Chunk-Größen reduzieren
Automatisch (Cronjob)
Das Plugin nutzt WP-Cron. Für zuverlässige Ausführung empfiehlt es sich, WP-Cron per System-Cronjob auszulösen:
-
In
wp-config.phpeinfügen:define('DISABLE_WP_CRON', true); -
System-Cronjob einrichten (z.B. alle 5 Minuten):
*/5 * * * * wget -q -O /dev/null https://deinedomain.de/wp-cron.phpoder:
*/5 * * * * curl -s https://deinedomain.de/wp-cron.php > /dev/null 2>&1
Backup wiederherstellen (Restore)
Schritt für Schritt
- Gehe zu Werkzeuge → Robust Backup → Wiederherstellen
- Wähle das gewünschte Backup aus der Liste
- Klicke Backup analysieren – das Plugin zeigt dir:
- Datum und Typ des Backups
- Ob Datenbank und/oder Dateien vorhanden sind
- WordPress-Version zum Zeitpunkt des Backups
- Wähle, was wiederhergestellt werden soll:
- Datenbank: Stellt alle Tabellen wieder her
- Dateien: Extrahiert alle archivierten Dateien zurück nach WordPress
- Sicherheitskopie vorher erstellen: Empfohlen! Erstellt einen DB-Dump bevor irgendwas überschrieben wird
- Klicke Wiederherstellung starten und bestätige
Was passiert bei der Wiederherstellung?
- Sicherheitskopie (optional): Die aktuelle Datenbank wird als
pre-restore-*Backup gespeichert - Datenbank: SQL-Statements werden Batch für Batch ausgeführt. Bestehende Tabellen werden per
DROP TABLE IF EXISTSentfernt und neu erstellt. - Dateien: Archive werden nacheinander extrahiert und bestehende Dateien überschrieben.
Nach der Wiederherstellung
- Permalink-Struktur neu speichern: Einstellungen → Permalinks → Speichern
- Cache leeren (falls Cache-Plugin aktiv)
- Prüfen, ob die Site korrekt funktioniert
- Bei Problemen: Das
pre-restore-*Backup nutzen, um zurückzugehen
Wichtige Hinweise
- Die Wiederherstellung überschreibt bestehende Daten
- Stelle sicher, dass das Backup von der gleichen Domain stammt, oder passe die URLs nachträglich in der DB an
- Bei einem Wechsel der Domain nach der Wiederherstellung: Nutze ein Tool wie WP-CLI oder ein Search-Replace-Plugin:
wp search-replace 'alte-domain.de' 'neue-domain.de'
Troubleshooting
Backup bricht ab / Timeout
- Reduziere DB-Chunk-Größe auf 500 oder 250
- Reduziere Datei-Batch-Größe auf 100
- Überprüfe PHP
max_execution_time(mindestens 60s empfohlen) - Überprüfe PHP
memory_limit(mindestens 256M empfohlen)
Upload zu Google Drive / Dropbox schlägt fehl
- Prüfe ob der Token noch gültig ist (Status in Einstellungen)
- Reduziere Max. Archiv-Größe auf 250 MB
- Prüfe die Internetverbindung des Servers
- Bei Google Drive: Prüfe ob genügend Speicherplatz vorhanden ist
"Es läuft bereits ein Backup"
Falls ein Backup abgebrochen wurde ohne korrekt beendet zu werden:
- Lösche den Transient manuell (z.B. mit WP-CLI):
wp option delete wprb_backup_state wp option delete wprb_db_export_state wp option delete wprb_file_archive_state - Oder warte – nach einem Page-Reload sollte es sich zurücksetzen
Backup-Verzeichnis nicht beschreibbar
- Prüfe die Berechtigungen von
wp-content/wprb-backups/ - Der Webserver-User (www-data, apache, nginx) braucht Schreibrechte
chmod 755 wp-content/wprb-backups/oderchown www-data:www-data wp-content/wprb-backups/
Log prüfen
Unter Werkzeuge → Robust Backup → Log findest du alle Backup- und Restore-Aktivitäten mit Zeitstempel.