Luzid Backup to Nextcloud
Luzid Backup to Nextcloud
Description
Luzid Backup to Nextcloud uploads your existing WordPress backup files to a Nextcloud folder via WebDAV.
It is designed for two main workflows:
- Automate offsite copies: upload backup archives on a schedule (WordPress Cron).
- Manual runs + monitoring: start uploads manually and follow progress + logs.
Typical use cases:
- Keep an offsite copy of backup archives generated by popular backup plugins.
- Upload backups to a structured Nextcloud folder (per source, per domain).
- Reduce storage usage with optional rotation (keep only the last N backup sets per source).
Core concepts:
- 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.
Features
- 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: Daily, Weekly, or Monthly (WordPress Cron)
- Email notifications for successful/failed transfers
- Log viewer with clear function
- Rotation / retention (keep last N backup sets)
- Context-aware action buttons per tab
- German and English admin UI with integrated How-To guide
Usage
1. Setup (connection)
- Fill in WebDAV URL, username, app password, and remote folder.
- Click Save & Test – this saves settings and tests the connection in one step.
2. Backup Sources
- Switch to the Backup Sources tab.
- Enable one or more sources (paths and extensions are pre-filled).
- Click Save Settings.
3. Manual Upload
- Click Start Manual Upload (available once a source is enabled).
- A progress modal shows the upload status.
4. Schedule + Rotation
- Enable the schedule, choose frequency and time, then save.
- Enable rotation and choose how many backup sets to keep.
License
This plugin is licensed under the GNU General Public License v2.0 or later.
Installation
- Upload the plugin folder to
/wp-content/plugins/or install via the WordPress Plugins screen. - Activate Luzid Backup to Nextcloud.
- Go to WP Admin Luzid WP Tools Backup to Nextcloud.
Faq
No. It uploads backup archives created by other tools. Configure your backup plugin first.
WordPress Cron is traffic-based. If the site has no visits around the scheduled time, the run may be delayed.
Always use a Nextcloud App Password (Settings Security Devices & Sessions).
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.
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.
Reviews
Changelog
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/$svariable 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
- Fixed: Removed invalid Author URI (luzid.app)
- Fixed: Contributors changed from “luzid” to “luzidmedia”
- Fixed: Replaced
WP_CONTENT_DIRconstant withwp_normalize_path( dirname() ) - Fixed: Explicit field extraction from
$_POSTinstead of processing the whole stack - Fixed: JS object name
luzidBackuprenamed toluzid_backup_data(prefixed) - Fixed: 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


