Luzid Backup to Nextcloud

Beschreibung

Luzid Backup to Nextcloud lädt deine vorhandenen WordPress-Backup-Dateien per WebDAV in einen Nextcloud-Ordner hoch.

Es ist für zwei Haupt-Workflows ausgelegt:

  1. Automate offsite copies: upload backup archives on a schedule (WordPress Cron).
  2. Manual runs + monitoring: start uploads manually and follow progress + logs.

Typische Anwendungsfälle:

  • Eine Offsite-Kopie von Backup-Archiven gängiger Backup-Plugins behalten.
  • Upload backups to a structured Nextcloud folder (per source, per domain).
  • Speicherplatz sparen mit optionaler Rotation (nur die letzten N Backup-Sets je Quelle behalten).

Grundkonzepte:

  • Sources – each source represents a folder where backup files are created (UpdraftPlus, BackWPup, WPvivid, All-in-One WP Migration, Duplicator, or custom).
  • Upload – the plugin scans sources for backup files and uploads them to Nextcloud via WebDAV PUT.
  • Streaming – files larger than 2 MB are uploaded via cURL streaming (reads from disk, never loads the entire file into RAM). This prevents memory and timeout issues on shared hosting.
  • Schedule – optional daily/weekly/monthly runs at a fixed time (WordPress Cron; traffic-dependent).
  • Rotation – keep the newest N backup sets and remove older ones on Nextcloud.
  • Email Reporting – get notified on successful or failed transfers.

Funktionen

  • Nextcloud WebDAV connection with one-click Save & Test
  • Password field with visibility toggle and browser autofill protection
  • Multiple backup sources (known plugins + custom folders)
  • File filters by extension
  • Streaming uploads for large files (low RAM usage)
  • Manual Upload with progress modal
  • Scheduled runs: täglich, wöchentlich, or monatlich (WordPress Cron)
  • E-Mail-Benachrichtigungen bei erfolgreichen/fehlgeschlagenen Transfers
  • Log viewer with clear function
  • Rotation / Aufbewahrung (keep last N Backup sets)
  • Context-aware action buttons per tab
  • German and English admin UI with integrated How-To guide

Nutzung

1. Setup (connection)

  1. Fill in WebDAV URL, username, app password, and remote folder.
  2. Click Save & Test – this saves settings and tests the connection in one step.

2. Backup Sources

  1. Switch to the Backup Sources tab.
  2. Enable one or more sources (paths and extensions are pre-filled).
  3. Click Save Settings.

3. Manual Upload

  1. Click Start Manual Upload (available once a source is enabled).
  2. A progress modal shows the upload status.

4. Schedule + Rotation

  • Enable the schedule, choose frequency and time, then save.
  • Rotation aktivieren und festlegen, wie viele Backup-Sets behalten werden sollen.

Lizenz

Dieses Plugin ist unter der GNU General Public License v2.0 oder neuer lizenziert.

Screenshots

Installation

  1. Lade den Plugin-Ordner nach /wp-content/plugins/ hoch oder installiere ihn über die WordPress-Plugin-Ansicht.
  2. Aktiviere Luzid Backup to Nextcloud.
  3. Gehe zu WP-Admin Luzid WP Tools Backup to Nextcloud.

FAQ

Erstellt dieses Plugin Backups?

Nein. Es lädt Backup-Archive hoch, die von anderen Tools erstellt wurden. Richte zuerst dein Backup-Plugin ein.

Warum läuft der Zeitplan nicht exakt pünktlich?

WordPress-Cron ist traffic-basiert. Wenn die Website um die geplante Zeit keine Besuche hat, kann der Lauf verzögert starten.

Soll ich ein normales Passwort oder ein App-Passwort verwenden?

Always use a Nextcloud App Password (Settings Security Devices & Sessions).

My upload gets stuck on large files

The plugin streams files larger than 2 MB via cURL to avoid PHP memory limits. If uploads still time out, check your hosting provider’s PHP max_execution_time setting.

Is my Nextcloud password stored securely?

Yes. Since version 1.3.2, the app password is encrypted at rest using AES-256-CBC with your site’s unique AUTH_KEY from wp-config.php. The password is only decrypted in memory when performing WebDAV requests. Existing plaintext passwords are automatically encrypted on the next page load or upload run.

The password field is filled with the wrong password

Click the eye icon next to the password field to reveal and verify the content. The field uses autocomplete="new-password" to prevent browser autofill, but some browsers may still fill it. Clear the field and enter your Nextcloud app password manually.

Rezensionen

24. Juni 2026
This was exactly the plugin I needed to upload my WordPress backups to Nextcloud. It was easy to setup and it is not overloaded with unnecessary functions, it does one thing and does it very well. It has reliably and consistently uploaded my backups to Nextcloud for months. Sign-up with some Nextcloud hosting with a different hosting company to the one which hosts your website, and you have easy, off-site backups of your website; backups which you control and can also be downloaded to your own computer. Thank you for this plug-in.
1 Rezension lesen

Mitwirkende und Entwickler

„Luzid Backup to Nextcloud“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„Luzid Backup to Nextcloud“ wurde in 1 Sprache übersetzt. Danke an die Übersetzer für ihre Mitwirkung.

Übersetze „Luzid Backup to Nextcloud“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.3.2

  • Security: Password encryption at rest – The Nextcloud app password is now encrypted in the database using AES-256-CBC with the site’s AUTH_KEY. Existing plaintext passwords are automatically migrated on first use. Graceful fallback if OpenSSL is not available on the server.

1.3.1

  • Fixed: Upload timeout with many filesset_time_limit() is now called before each individual file upload, preventing PHP from killing the process after 20-30 files. Progress bar now updates per file (e.g. „Uploading file 47/187“) instead of per source.
  • Fixed: Language preference not saved – Switching to English/German is now persisted in the database. The chosen language stays active across page reloads and redirects.

1.3.0

  • Streaming uploads: Files > 2 MB are now uploaded via cURL streaming (reads from disk, never loads entire file into RAM). Solves timeout and memory issues on shared hosting with large backup files.
  • Context-aware buttons: Each tab shows only the relevant action buttons. Setup shows only „Save & Test“; Backup Sources and Schedule show „Save Settings“; How-To hides all buttons.
  • Upload button gating: „Start Manual Upload“ is disabled (greyed out) until at least one backup source is enabled.
  • Password field improvements: Visibility toggle (eye icon), autocomplete="new-password" to prevent browser autofill, renamed form field name to avoid browser recognition.
  • Removed „Remove password“ checkbox: Passwords are now simply replaced by entering a new one.
  • Default source paths: Backup source paths and file extensions always fall back to sensible defaults (even after reset). Empty fields are never saved – defaults are restored automatically.
  • „Delete All Settings“ preserves defaults: Resetting the plugin now keeps default source paths and extensions intact, only clears user configuration, logs, and schedule.
  • Guided setup flow: New hint text on Setup tab guides users through the configuration process.
  • Updated How-To guides: German and English documentation rewritten to match current UI and features.
  • Fixed: $log / $source / $s variable reference bugs from prefix renaming.
  • Fixed: Sources tab fields (path, extensions) now save correctly.

1.2.9

  • WordPress.org Review Compliance – all review team requirements addressed
  • Behoben: Removed invalid Author URI (luzid.app)
  • Behoben: Contributors changed from \“luzid\“ to \“luzidmedia\“
  • Fixed: Replaced WP_CONTENT_DIR constant with wp_normalize_path( dirname() )
  • Fixed: Explicit field extraction from $_POST instead of processing the whole stack
  • Fixed: JS object name luzidBackup renamed to luzid_backup_data (prefixed)
  • Behoben: All global variables in admin-page.php prefixed with luzid_btn_

1.2.4

  • Settings now save correctly on first install
  • WebDAV credentials persist after „Save & Test“
  • Better fallback handling for tab detection

1.2.3

  • Replaced cURL with wp_remote_request() for WordPress compliance
  • All PHPCS warnings resolved

1.2.2

  • All date() replaced with gmdate()
  • All wp_redirect() replaced with wp_safe_redirect()
  • Proper wp_unslash() + sanitize everywhere

1.2.1

  • Initial public release with full feature set

1.2.0

  • Beta release