NibbleSync โ 'Automated Backups. Verified Restores. Safe Migrations.'
NibbleSync schedules full backups down to the hour, verifies every cloud upload instead of assuming it worked, keeps a safety copy before every restore, and moves your site to a new domain without breaking every serialized option WordPress has ever saved.
One Backup Copy Is Not a Backup Plan
A single local backup file survives a bad plugin update. It doesn't survive the server it's sitting on going down, and a plain find-and-replace during a migration doesn't survive WordPress's own serialized data format.
๐ด Without a plan for this
- Backups live only on the same server they're protecting
- Cloud uploads are assumed to have worked, never checked
- A restore has no way back if it goes wrong mid-way
- Cloud storage bills quietly climb as old backups pile up forever
- Migrating to a new domain leaves broken links in every serialized widget setting
- A large site's backup blows past your host's request timeout and just fails
๐ข With NibbleSync
- Local backup, plus an optional off-site copy on your own schedule
- Every cloud upload verified by size (and checksum on Backblaze B2) before it counts as done
- A safety snapshot is taken automatically before any restore, protected for 24 hours
- Cloud storage rotates to exactly 3 backups automatically, same as local
- Migration rewrites URLs and paths correctly inside PHP-serialized data, not with a naive find-and-replace
- Backups and restores run in small, resumable chunks built for shared hosting's short timeouts
A Backup Plugin Built Like Infrastructure
NibbleSync creates rotating backups of your database and files on whatever schedule you set. Choose every N days, or every N hours. Backups save to your server first; connect Bunny Storage, Backblaze B2, Amazon S3, Cloudflare R2, FTP/FTPS, or SFTP, and a verified copy goes off-site too, automatically rotated down to the 3 most recent, the same as local storage.
Restoring takes an automatic safety snapshot of your site's current state first, so a restore is never a one-way door. And when it's time to move the whole site to a new domain, the built-in migration engine handles the part that actually breaks most migrations: rewriting URLs and file paths correctly inside WordPress's serialized data format, instead of corrupting it with a plain text find-and-replace.
From Schedule to Rotated Backup, Automatically
Nothing to babysit once it's set up. This is the entire cycle.
Pick a schedule that fits your site
Every โฌ days, or every โฌ hours. The two fields are mutually exclusive, so there's never any ambiguity about which one is actually controlling your backups.
The chunked engine runs the backup safely
The database dump and file archive both run in small, bounded batches. A live progress bar drives a manual "Backup Now," while a scheduled one is chained quietly in the background. A multi-gigabyte site never needs one uninterrupted request to finish.
Local save, plus an optional verified cloud copy
The backup always lands on local disk first. If a cloud provider is connected, the same backup streams there too, straight from disk, with memory use staying flat regardless of file size. It's then checked against what's actually stored before it's marked successful.
Rotation keeps exactly 3, everywhere
Once the new backup is confirmed good, the oldest one beyond the 3 most recent is removed. This happens locally, and on whichever cloud provider is connected. Storage never grows unbounded.
Every Detail Most Plugins Skip
Nothing here is a roadmap promise. It's all live in the current version.
Day or Hour Scheduling
Pick any interval you want. "Every 3 hours" works just as well as "every 2 days." Most other plugins only offer a fixed list of presets.
Chunked & Resumable Engine
Database dumps and file archives both run in small, bounded batches. A host's short request timeout is never the reason a large backup fails.
Automatic Safety Snapshot
Every restore backs up your current state first. That snapshot stays protected for 24 hours, even across multiple restore attempts in one session.
5 Cloud Destinations
Bunny Storage, Backblaze B2, Amazon S3 or any S3-compatible service (Cloudflare R2, Wasabi, DigitalOcean Spaces, MinIO), FTP/FTPS, or SFTP. That last one covers your own corporate server too.
Automatic Cloud Rotation
Cloud storage settles at exactly 3 backups automatically, right after each new upload is confirmed. Your storage bill never quietly grows out of control.
Cloud-Only Storage Mode
Don't want to pay for the same backups twice? The local copy can be deleted automatically once its cloud upload is confirmed. It's never deleted before that.
Browse Cloud Backups
See what's actually in your connected storage and pick a backup by date. There's no need to know or retype an exact folder name.
Test Connection
Checks your cloud credentials the moment you type them, even before you save. If something's wrong, it tells you exactly what.
Built-in Site Migration
Export a portable package, import it on a new domain, and let NibbleSync rewrite URLs and file paths correctly inside serialized data. This is included free, not a Pro upsell.
Timezone-Aware Everywhere
Every date and time you see uses your site's actual configured timezone. You'll never have to mentally convert a UTC timestamp again.
Email Notifications
You'll get a quiet email when an unattended scheduled backup completes, or when a restore finishes. You're never left wondering.
Component-Level Restore
Choose exactly what comes back: database, files, wp-config.php, or .htaccess. It's never an all-or-nothing restore.
What Actually Happens When You Click Restore
A restore is one of the few actions in WordPress you genuinely can't easily undo. Here's what protects you if something goes wrong.
Pick a restore point: local or cloud
Choose from your local restore points, or browse and pull one straight from connected cloud storage if that's where it lives.
A safety snapshot is taken automatically
Before anything is overwritten, your site's current state is backed up locally. It's instantly available, with no dependency on a network connection during a live recovery.
The chunked restore runs, with a live progress bar
Database and files restore in bounded batches, same engine as backups, so a large restore doesn't need one uninterrupted request either.
You land back on a clean screen, with a real confirmation
There's no confusing re-display of the confirmation form, and no silently lost success notice. You see exactly what happened, every time.
One Engine, Five Destinations, One Migration Path
Bunny Storage and Backblaze B2 are supported through their own native APIs. Amazon S3 and every S3-compatible service, including Cloudflare R2, Wasabi, DigitalOcean Spaces, MinIO, and even Bunny's own optional S3-compatible mode, are covered by one generic adapter, since they all speak the same request-signing standard. FTP/FTPS and SFTP cover a corporate backup server or your own repository just as well as a third-party cloud account.
Every upload streams straight from disk regardless of file size, retries automatically on a transient network hiccup, and gets checked against what's actually stored on the other end before it's marked successful. Nothing is simply assumed to have worked.
Migration That Doesn't Corrupt Your Database
Moving a site to a new domain usually breaks things in one specific, sneaky way. WordPress stores plenty of settings as PHP-serialized data, and a plain search-and-replace across that data corrupts it, because serialized values encode their own byte length inline. NibbleSync' migration engine detects serialized data, rewrites it correctly element by element, and re-serializes it. That's the part most naive migration scripts get wrong.
Export a portable package and import it on the new site. You can upload it directly, or, for a large site, pull it straight from connected cloud storage so you never hit a hosting upload-size limit. The confirmation screen compares the package's recorded URLs against the new site's own before anything is touched, and automatically rewrites every table name (plus the handful of WordPress core rows - user roles and capabilities - that are also keyed by prefix internally) if it detects a different database table prefix, so a fresh WordPress install with its own randomized prefix migrates in cleanly instead of erroring out.
Where NibbleSync Genuinely Differs
An honest comparison, not a highlight reel. It includes the places where an established plugin still has the edge.
| Capability | NibbleSync | Typical Free Plugins | Typical Premium Plugins |
|---|---|---|---|
| Arbitrary interval scheduling (e.g. "every 3 hours") | โ | Fixed presets only | Sometimes |
| Native Bunny Storage support | โ | โ | Rare |
| S3-compatible adapter (R2, Wasabi, Spaces, MinIO) | โ | Rare | โ |
| Automatic cloud storage rotation (no unbounded growth) | โ | โ | Sometimes |
| Migration & serialize-safe URL rewrite included free | โ | โ | Usually the paid tier |
| Pre-save "Test Connection" for cloud credentials | โ | โ | Sometimes |
| Database table-prefix remapping during migration | โ | โ | โ |
| Incremental / differential backups | Not yet | โ | โ |
| WP-CLI support | Not yet | Sometimes | โ |
| Years of real-world production testing | Newly built | Usually | โ |
| Price | Free | Free | Subscription / one-time fee |
Set a Schedule, and You're Covered
Cloud storage and migration are there when you want them. Nothing about the basic setup requires touching either.
Install & activate
From the WordPress Plugins screen, or by uploading the .zip directly.
Set your schedule
Every โฌ days, or every โฌ hours, under the NibbleSync menu item.
Connect cloud storage (optional)
Bunny, B2, S3/R2, FTP, or SFTP. Test Connection confirms it before you save.
You're done
Backups run on schedule from here. Restore or migrate whenever you actually need to.
Support Free, Open-Source Development
NibbleSync is completely free, open-source, and built without hidden paywalls or bloated features. If it's protecting a site you care about, consider supporting the work that keeps it that way.
Support the ProjectBefore You Install
Yes. Every feature on this page is included in the free plugin: no separate Pro version, no license key, no feature paywall. Cloud storage itself is billed by whichever provider you connect, entirely separate from NibbleSync.
That's your choice. By default NibbleSync keeps both, since a local copy survives even if your cloud account has a problem. If you'd rather not pay for the same backups twice, "Cloud only" storage mode deletes the local copy automatically, but only after that backup's cloud upload is confirmed successful. It's never deleted before that, or after a failed upload.
Nothing is lost. The local backup already completed before the upload was even attempted. Transient failures (a network hiccup, a temporary server error) retry automatically a couple of times. A permanent failure, like bad credentials, is reported immediately rather than retried pointlessly.
No. NibbleSync automatically keeps exactly the 3 most recent backups on whichever provider is connected, the same way local storage already works. Older ones are deleted right after a new backup's upload is confirmed successful.
Yes, via the Migrate section. Export a portable package, then import it on the destination site. You can upload it directly, or pull it straight from connected cloud storage for a large site, avoiding your host's upload-size limit. NibbleSync compares the package's recorded site identity against the destination site's own and rewrites the database to match, correctly handling PHP-serialized data.
Yes. If the source package and destination site use different table prefixes (e.g. wp_ vs wp7x_), NibbleSync automatically rewrites every table name to match this site's own prefix during import, plus the handful of WordPress core option/user-meta rows (roles and capabilities) that are also keyed by prefix internally. A third-party plugin's own custom table is covered too, unless that plugin also stores its own prefix-dependent keys internally, which a small number of plugins do.
Honestly: it's new. NibbleSync has been engineered carefully and reviewed thoroughly for correctness, but it doesn't yet carry the years of real-world field-testing an established backup plugin has. Test it on staging first: a full backup, a full restore, and a migration if you plan to use one. Do this before trusting it with a production site.
That's specifically what the chunked engine is for. Both the database dump and the file archive run in small, bounded batches rather than one long-running request, so a host's short execution-time limit isn't the thing standing between you and a completed backup.
Stop Hoping Your Backup Actually Works
Install NibbleSync, set a schedule, and let it prove itself with a verified restore.
Support Free, Open-Source Development
NibbleSync is completely free, open-source, and built without hidden paywalls or bloated features. If it's protecting a site you care about, consider supporting the work that keeps it that way.
Support the ProjectMore from MVP Plugins
Small, focused WordPress plugins built without bloat.