Title: DadsFam Backups
Author: dadsfam
Published: <strong>avuvɔsun 21, 2026</strong>
Last modified: zosun 30, 2026

---

Search plugins

![](https://ps.w.org/dadsfam-backups/assets/banner-772x250.png?rev=3659613)

![](https://ps.w.org/dadsfam-backups/assets/icon-256x256.png?rev=3659613)

# DadsFam Backups

 By [dadsfam](https://profiles.wordpress.org/dadsfam/)

[Download](https://downloads.wordpress.org/plugin/dadsfam-backups.1.15.8.zip)

 * [Details](https://fon.wordpress.org/plugins/dadsfam-backups/#description)
 * [Reviews](https://fon.wordpress.org/plugins/dadsfam-backups/#reviews)
 *  [Installation](https://fon.wordpress.org/plugins/dadsfam-backups/#installation)
 * [Development](https://fon.wordpress.org/plugins/dadsfam-backups/#developers)

 [Support](https://wordpress.org/support/plugin/dadsfam-backups/)

## Description

**DadsFam Backups** keeps a safety net under your WordPress site. Back up your database
and files whenever you like, or set a schedule and forget about it. When something
goes wrong, restore in a few clicks.

It’s built for real-world hosting. Big sites usually choke other backup plugins 
because PHP runs out of time or memory halfway through. DadsFam Backups works in
small, resumable steps instead — so a backup that’s too big to finish in one go 
simply picks up where it left off until it’s done.

#### What you get (free)

 * **Full backups** — database + plugins, themes, uploads, and the rest of `wp-content`.
   Pick exactly what to include.
 * **Resumable engine** — large sites back up in bounded chunks and never time out.
 * **One-click restore** — restore the database, files, or both, right from the 
   dashboard.
 * **“What will I lose?” before every restore** — before you press the button, see
   in plain English what the restore removes: the orders, posts, pages, comments
   and customer accounts added since the backup was made, and any plugin, theme 
   or WordPress versions it would change.
 * **Safety copy and one-click undo** — just before a restore, the parts about to
   be replaced are backed up automatically. If the restore was not what you wanted,
   one click puts everything back as it was a moment before.
 * **Move or clone a site by link** — create a transfer link on the old site and
   paste it on the new one: the backup is copied straight across, server to server,
   with no downloading, uploading or size limits. Click “Clone here” and the web
   address throughout your content and the database table prefix are adjusted for
   you.
 * **Look inside any backup** — browse a backup folder by folder, download a single
   file, or put back just one file or folder instead of restoring everything. Only
   missing files are put back unless you choose to replace, and it can be undone
   for 24 hours.
 * **Switching from UpdraftPlus?** — UpdraftPlus backups already on your site can
   be turned into DadsFam backups in one click, so your history comes with you. 
   The UpdraftPlus files are not changed.
 * **Scheduled backups** — daily, weekly or monthly at a time you choose. No server
   cron setup needed; it runs through WordPress and heals its own schedule.
 * **Smart retention** — automatically keep only the most recent N backups. Pin 
   the ones you want to keep for good, and give any backup a short note such as “
   Before the redesign”.
 * **Extra database backups** — back up just the database daily in between weekly
   full backups, ideal for shops whose orders change all day.
 * **Exclusions** — skip caches, `node_modules`, logs and anything else with simple
   patterns. Backups left behind by other backup plugins are spotted for you, so
   your archives do not fill up with old copies of other archives.
 * **Faster with photos and video** — media that is already compressed is stored
   as it is instead of being squeezed again, which saves time on every backup.
 * **Email notifications** — get told when a backup finishes or fails.
 * **Activity log** — a clear history of every backup, restore and scheduled run.
 * **Secure storage** — backups live in a protected folder (no public web access)
   and downloads are nonce + capability protected. A built-in test checks the folder
   really is private on your server, and tells you exactly what to send your host
   if it is not.
 * **Status where you already look** — WordPress Site Health warns when a backup
   is overdue, an optional dot in the admin bar shows green, amber or red, and an
   optional weekly email says “All good” or exactly what needs attention.
 * **Off-site copies to Google Drive or OneDrive** — connect an account in one click
   and every backup gets a second home. Uploads are resumable and continue in the
   background, so a big archive finishes even on a slow shared host.
 * **Restore from the cloud** — lost the server, or deleted the local copy? Pick
   an off-site backup and it is pulled back onto your site, resuming by itself if
   the connection drops. Then restore it normally.

#### Built honestly

No nag screens, no crippled free version, no surprise server configuration. The 
free plugin really backs up and really restores your whole site.

#### Going further with Pro

An optional commercial add-on, DadsFam Backups Pro, adds more off-site destinations(
Amazon S3 and S3-compatible, FTP/FTPS, SFTP), encrypted off-site copies, advanced
schedules, a backup before every update with one-click undo, a Rescue Kit for when
you cannot log in, and a long-term history of off-site backups. It is a separate
plugin and is not required — Google Drive, OneDrive and cloud restore are all part
of this plugin. Pro is at [plugins.dadsfam.co.za](https://plugins.dadsfam.co.za/).

#### A word about PRO

Right, let me be straight with you, because I hate being sold to as much as you 
do.

Everything above is free and it stays free. Backing your site up on a schedule, 
restoring it, cloning it to a new domain, downloading the archive, verifying every
backup is not corrupt — none of those are premium features. Those are things a backup
plugin should just do, and if I put them behind a paywall I would be taking the 
mickey.

There is a PRO add-on. It exists because I am a dad in Cape Town, and this is one
of the things that puts food on the table at my house. That is the honest reason.
Not “unlock your potential”, not “supercharge your workflow”. Just: if this plugin
saved your site and you can spare it, PRO helps me keep building.

What PRO adds is for when your backups need to go further than Google Drive or OneDrive,
which are free here — sending each one off to Amazon S3 or an FTP or SFTP box, encrypting
those off-site copies, keeping a history of them out there, and running on a tighter
schedule. It also keeps the old version before every update so a bad one can be 
undone in a click, and gives you a Rescue Kit for the day you cannot even log in.
That is convenience and peace of mind. It is not the plugin working properly, because
the plugin already works properly.

So if the free one does everything you need, brilliant. Genuinely. Use it, and I
hope it saves you the afternoon nobody wants — the one where the site is gone and
there is no backup. If you get to the point where off-site copies would let you 
sleep easier, PRO is at plugins.dadsfam.co.za.

Either way, thanks for using something I built. — Zak, DadsFam

PRO adds:

 * Off-site backups to Amazon S3 and S3-compatible storage (Wasabi, Backblaze B2,
   DigitalOcean Spaces, MinIO)
 * FTP, FTPS and SFTP destinations
 * Encrypted off-site copies
 * Remote retention — keep a set number of backups off-site, or a history: 7 daily,
   4 weekly and 12 monthly
 * More frequent, advanced backup schedules
 * A copy of the old version before every plugin, theme and WordPress update, with“
   Undo last update”
 * A Rescue Kit: a single file you upload when WordPress will not load, to restore
   a backup without logging in

### External services

Connecting Google Drive or OneDrive is optional and nothing is sent anywhere until
you connect an account.

When you do, this plugin uses the DadsFam connection service at `https://connect.
dadsfam.co.za` to handle the sign-in. You are sent there to approve access, and 
it returns a one-time code that this site swaps for an access token server-to-server,
so the token never travels through your browser. The service receives the provider
you chose and the address to send you back to. Terms of use and privacy policy: 
[dadsfam.co.za/privacy-policy](https://www.dadsfam.co.za/privacy-policy/) and [plugins.dadsfam.co.za/privacy-policy](https://plugins.dadsfam.co.za/privacy-policy/).

Once connected, your site talks directly to Google (`googleapis.com`) or Microsoft(`
graph.microsoft.com`) to upload and download your backups. Nothing passes through
DadsFam.

When you paste a transfer link under “Copy a backup from another site”, this site
downloads that backup from the site address in the link — your other site. Nothing
is sent anywhere else, and nothing happens until you paste a link.

The “Are my backups private?” test on the Settings tab (also run weekly by Site 
Health) requests a harmless test file from your own site’s address, to see whether
the backups folder can be reached from the web. It contacts no other server.

## Screenshots

[⌊Open it and you know where you stand. One sentence tells you whether your site
is covered, when the last backup ran and where it is being kept — no numbers to 
interpret, no jargon.⌉⌊Open it and you know where you stand. One sentence tells 
you whether your site is covered, when the last backup ran and where it is being
kept — no numbers to interpret, no jargon.⌉[

Open it and you know where you stand. One sentence tells you whether your site is
covered, when the last backup ran and where it is being kept — no numbers to interpret,
no jargon.

[⌊It walks you through setting up. Three steps to a properly covered site, ticking
themselves off as you go, and the panel disappears for good once you are done.⌉⌊
It walks you through setting up. Three steps to a properly covered site, ticking
themselves off as you go, and the panel disappears for good once you are done.⌉[

It walks you through setting up. Three steps to a properly covered site, ticking
themselves off as you go, and the panel disappears for good once you are done.

[⌊Everything the plugin does, as six things you press. Big targets and plain names—"
Put my site back", not "Restore" — each showing its own live status.⌉⌊Everything
the plugin does, as six things you press. Big targets and plain names — "Put my 
site back", not "Restore" — each showing its own live status.⌉[

Everything the plugin does, as six things you press. Big targets and plain names—“
Put my site back”, not “Restore” — each showing its own live status.

[⌊Watch it work, line by line. A live window onto what the server is actually doing:
tables dumped, files added, bytes uploaded. Free, not an add-on.⌉⌊Watch it work,
line by line. A live window onto what the server is actually doing: tables dumped,
files added, bytes uploaded. Free, not an add-on.⌉[

Watch it work, line by line. A live window onto what the server is actually doing:
tables dumped, files added, bytes uploaded. Free, not an add-on.

[⌊When something goes wrong, it tells you what to do. Four things that actually 
happen — a broken update, a hack, hosting that vanished, something deleted by mistake—
each with the exact steps.⌉⌊When something goes wrong, it tells you what to do. 
Four things that actually happen — a broken update, a hack, hosting that vanished,
something deleted by mistake — each with the exact steps.⌉[

When something goes wrong, it tells you what to do. Four things that actually happen—
a broken update, a hack, hosting that vanished, something deleted by mistake — each
with the exact steps.

[⌊Google Drive and OneDrive built in and free. One click to connect, every backup
gets a second home, and you can pull one straight back down even if the original
server is gone.⌉⌊Google Drive and OneDrive built in and free. One click to connect,
every backup gets a second home, and you can pull one straight back down even if
the original server is gone.⌉[

Google Drive and OneDrive built in and free. One click to connect, every backup 
gets a second home, and you can pull one straight back down even if the original
server is gone.

## Installation

 1. In your WordPress admin, go to **Plugins  Add New  Upload Plugin**.
 2. Upload the `dadsfam-backups.zip` file and click **Install Now**.
 3. Click **Activate**.
 4. Open **DadsFam Backups** from the admin menu and create your first backup.

Your server needs the PHP **zip** extension (ZipArchive). Almost all hosts have 
this; if not, ask your host to enable it.

## FAQ

### Where are my backups stored?

In `wp-content/uploads/dadsfam-backups/`, inside a folder protected from direct 
web access. You can also download any backup to your computer.

### Will a backup time out on a big site?

No. The backup runs as a series of small steps and resumes itself, so size isn’t
a problem. Very large sites just take a few more steps.

### Is it safe to leave the page while a backup runs?

Yes. Manual backups continue while the tab is open; scheduled backups run entirely
in the background.

### Can I restore to a different domain or different table prefix?

Yes. The easiest way is a transfer link: on the old site, go to Backups  “Move this
site” and create a link; on the new site, paste it under “Copy a backup from another
site”. You can also upload the .zip under Import, or drop it into the backups folder
and click Scan. Then click **Clone here**. The old web address is changed to the
new one throughout your content, and a different database table prefix is handled
for you. This is part of the free plugin.

### What happens if a restore goes wrong, or is not what I wanted?

Unless you untick it, a safety copy of everything the restore is about to replace
is taken first. Afterwards, a “Put things back” button restores that safety copy,
returning the site to how it was just before. The newest two safety copies are kept;
they are not uploaded off-site and do not count towards your retention number.

### Can I get back just one file or folder?

Yes. Click the folder icon next to a backup on the Backups tab to look inside it.
Download any single file, or click “Put back” on a file or folder. By default only
files that are missing are put back; you can choose to replace the current versions
too. Either way there is an Undo button for 24 hours. Server settings files, wp-
config.php and this plugin itself are never overwritten this way — download them
instead.

### I used UpdraftPlus before. Can I use those backups?

Yes. If UpdraftPlus backups are in wp-content/updraft, the Backups tab lists them
with a Convert button. Each one becomes a normal DadsFam backup you can restore,
browse or move to another site. Encrypted UpdraftPlus backups and multisite backups
cannot be converted. To bring in UpdraftPlus backups from another server, upload
their files into wp-content/updraft first.

### Are my backups private?

The backups folder is protected on Apache, LiteSpeed and IIS servers. Nginx ignores
that protection, so the plugin tests it for real: Settings  “Are my backups private?”
places a harmless test file, tries to download it the way a stranger would, and 
deletes it. If it can be downloaded, you get the exact rule to send your host.

### Does restore overwrite my site?

Yes — that’s the point of a restore. Always take a fresh backup first, and ideally
test restores on a staging copy before running them on a live site. By default `
wp-config.php` is never overwritten.

### Do I need to set up a server cron job?

No. Scheduling uses WordPress’s own cron and self-heals if it ever goes missing.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“DadsFam Backups” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ dadsfam ](https://profiles.wordpress.org/dadsfam/)

[Translate “DadsFam Backups” into your language.](https://translate.wordpress.org/projects/wp-plugins/dadsfam-backups)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dadsfam-backups/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/dadsfam-backups/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dadsfam-backups/)
by [RSS](https://plugins.trac.wordpress.org/log/dadsfam-backups/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.15.8

 * Safety: when you copy a site from another address, the restore no longer offers
   to overwrite wp-config.php, and leaves it alone even if asked. That file holds
   the other site’s database login, so the copy would quietly start running on the
   other site’s live database. Restoring a site’s own backup still offers it.
 * Includes everything in 1.15.7. Updating from 1.15.6 or older? Read that entry:
   it fixes incomplete database backups on bigger sites and restores or clones that
   stopped halfway.

#### 1.15.7

 * **Important — bigger sites: the database part of a backup could be incomplete.**
   When a site’s database took more than one step to copy, each new step trimmed
   the database file back to an out-of-date size, so only the last step’s share 
   of the database was kept. Small sites, whose database is copied in one step, 
   were not affected. Every backup now checks that its database holds every table
   and ends properly before it is called finished; one that does not is reported
   as failed instead of being kept as a good backup. **After updating, let each 
   site make a fresh backup.**
 * Fixed: restoring or cloning a site could stop halfway with “Restore stalled”,
   leaving the site half put back. Partway through, a restore replaces the site’s
   users, which signed you out, and it kept its progress in the very database it
   was replacing. Its progress now lives in its own file, and the browser that pressed
   Restore carries a one-time key that sees the job through to the end.
 * The settings and user tables are now put back in one go and made to work on this
   site straight away, so the site is never left unusable between two steps, and
   a setting saved by a visitor at the wrong moment can no longer knock out a batch
   of restored rows.
 * New safety check: before anything is replaced, a restore reads the backup’s database
   from start to end. If it is incomplete, the restore stops with nothing on your
   site changed and tells you so, instead of replacing your database with part of
   one.
 * When a restore or clone finishes, the page cache (DadsFam Cache and other common
   caching plugins) is cleared so visitors see the restored site straight away, 
   and the site’s scheduled tasks wait until the restore is done. If the restore
   signed you out, the screen now says so and takes you to the login page.
 * Cloning from a site whose table prefix is wp_ no longer renames WordPress settings
   that merely begin with “wp_” (such as the privacy policy page), and DadsFam Backups
   stays switched on through a restore even when the backup came from a site that
   did not use it.
 * Nothing to set up. How and when backups run is unchanged.

#### 1.15.6

 * Fixed: a backup that had worked, and had already gone off-site, could be reported
   as failed a few minutes later — with a “Backup FAILED” email to match. A request
   that had been running for a while was still holding an out-of-date copy of the
   backup’s progress and tried to finish it a second time; by then the copy on this
   server had been removed as planned, so the check failed. Every step now reads
   the backup’s progress from the database at the moment it acts, and a backup that
   has finished can never be finished twice.
 * Fixed: the safeguard that lets only one request work on a backup at a time could
   let a second one in, because the standard WordPress call it was built on does
   not actually turn a second caller away. The database now decides who goes, so
   two requests can never work on the same backup at once. The same fix applies 
   to the safeguard that stops two uploads of the same backup running together.
 * Fixed: while a finished backup was being sent off-site, the plugin still showed
   it as “Finalising archive — verifying integrity… 97%”, and a problem during the
   upload could mark the finished backup as failed and send both the “completed”
   and the “FAILED” email. The backup is now saved as complete before the upload
   starts. A problem after that is written to the activity log and never changes
   the backup’s result.
 * Fixed: the activity log could lose lines, sometimes most of a backup’s, when 
   a long request wrote to it at the same time as another. That is why the log could
   appear to start in the middle of a backup.
 * Fixed: a backup that finished while another request was working through the off-
   site queue could drop out of that queue and never be uploaded.
 * Nothing to set up, and nothing changes in how or when backups run.
 * For developers: dadsfam_backups_backup_complete and dadsfam_backups_safety_complete
   now fire after the backup has been saved as complete, and once per backup, however
   many requests reach the end of it.

#### 1.15.5

 * Fixed: an AI assistant asking for your backup history, the activity log or the
   list of backups was only ever given one entry, however many it asked for, so 
   it could not tell how often your backups run. It now gets what it asks for (20
   at a time unless it asks for more) and is told how many there are in all.
 * Fixed: the activity log said “an off-site upload looked stalled, restarting it”
   a second after a backup was queued to go off-site, when nothing was wrong. A 
   backup that has only just been queued now gets a few minutes to start before 
   anything calls it stalled. An upload that really does stall is still restarted,
   exactly as before.
 * Clearer: when another rule decides what is kept — such as the “Keep a history”
   option in the add-on — the “How many to keep here” box on Google Drive and OneDrive
   is greyed out with a note saying what is kept instead. The same goes for “Keep
   this many recent backups” when that rule covers this server too. Before, the 
   box looked as if it was in charge when it was not. Your number is kept for when
   the rule is switched off.
 * For AI assistants: the destination list says when a destination’s number is not
   being used and what decides instead, changing that number says so, and pruning
   a destination reports the rule it applied instead of claiming it kept “the newest
   N”.
 * Fixed: the health check told AI assistants “there are no backups stored on this
   server” as if it were a problem, on sites set to delete each backup from the 
   server once it is safely off-site. That empty folder is the plan, so it is no
   longer reported as a problem, as long as the newest backup did reach off-site
   storage.

#### 1.15.4

 * Code tidy-up from the WordPress.org Plugin Check, with no change to how the plugin
   works: notes for translators on every message that has a placeholder, error messages
   escaped where they are created, table names escaped in the database export and
   restore queries, and a few standard WordPress names marked as intentional.
 * The changelog on WordPress.org now shows the 1.15 releases. The complete history,
   back to 1.0, is in changelog.txt inside the plugin.

#### 1.15.3

 * Fixed: a backup converted from UpdraftPlus showed “0 DB rows” in the list, which
   read as an empty database. Its database is there; UpdraftPlus does not record
   how many rows it holds, so the count is now left out instead, and the row says
   it was converted from UpdraftPlus.
 * Fixed: an UpdraftPlus backup that had already been converted still offered “Convert”,
   and a second click made another full-size copy. It now shows “Converted”, and
   converting the same backup twice is refused. Delete the converted copy if you
   ever want to convert it again.

#### 1.15.2

 * Fixed: on a laptop-height screen the restore window could run off the top and
   bottom of the screen, hiding its title and the Restore and Cancel buttons. Windows
   now scroll when they are taller than the screen, and their buttons stay in view
   while you scroll. The same applies to the window for looking inside a backup.

#### 1.15.1

 * Fixed: off-site copies now count database-only backups separately from full backups,
   as this server already does. With a database-only schedule running more often
   than full backups, the off-site “keep this many” setting could remove the only
   full backup from Google Drive or OneDrive.
 * The readme now lists the outside services this plugin talks to in its own “External
   services” section.
 * For developers: one retention planner now decides what to remove, here and off-
   site, and exposes the `dadsfam_backups_retention_plan` filter.

#### 1.15.0

 * **New: move a site by link.** On the old site, Backups  “Move this site” creates
   a transfer link for any backup (it works for 6 hours to 7 days, and can be switched
   off at any time). On the new site, paste it under “Copy a backup from another
   site” and the backup is copied straight across, server to server, in pieces that
   carry on if the page is closed or the connection drops. Then click “Clone here”
   as usual. No downloading to your computer, no uploading, no upload size limits.
 * **New: look inside a backup.** The folder icon next to each backup opens it folder
   by folder. Download any single file, or put back just one file or folder instead
   of restoring the whole site. By default only missing files are put back; you 
   can choose to replace the current versions too, and either way it can be undone
   for 24 hours. The same files a full restore protects (server settings files, 
   wp-config.php and this plugin) are never overwritten this way.
 * **New: convert UpdraftPlus backups.** UpdraftPlus backups in wp-content/updraft
   are listed on the Backups tab with a Convert button that turns each one into 
   a normal DadsFam backup — restore it, browse it, or move it to another site. 
   The UpdraftPlus files are never changed or deleted.
 * For AI assistants: a new ability to look inside a backup. Putting files back 
   and restoring stay with the person.

#### Earlier versions

The full history, back to 1.0, is in changelog.txt, which comes with the plugin.

## Meta

 *  Version **1.15.8**
 *  Last updated **4 days ago**
 *  Active installations **20+**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/dadsfam-backups/)
 * Tags
 * [backup](https://fon.wordpress.org/plugins/tags/backup/)[database backup](https://fon.wordpress.org/plugins/tags/database-backup/)
   [migration](https://fon.wordpress.org/plugins/tags/migration/)[restore](https://fon.wordpress.org/plugins/tags/restore/)
   [scheduled backup](https://fon.wordpress.org/plugins/tags/scheduled-backup/)
 *  [Advanced View](https://fon.wordpress.org/plugins/dadsfam-backups/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dadsfam-backups/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dadsfam-backups/reviews/)

## Contributors

 *   [ dadsfam ](https://profiles.wordpress.org/dadsfam/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dadsfam-backups/)