BackWPup – WordPress Backup Plugin


The backup plugin BackWPup can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like Dropbox, S3, FTP and many more, see list below. With a single backup .zip file you are able to easily restore an installation.

Please understand: this free version will not be supported as well as the BackWPup Pro version. With our premium version you get first class support and more features.

  • Database Backup (needs mysqli)
  • WordPress XML Export
  • Generate a file with installed plugins
  • Optimize Database
  • Check and repair Database
  • File backup
  • Backups in zip, tar, tar.gz format (needs gz, ZipArchive)
  • Store backup to directory
  • Store backup to FTP server (needs ftp)
  • Store backup to Dropbox (needs curl)
  • Store backup to S3 services (needs curl)
  • Store backup to Microsoft Azure (Blob) (needs curl)
  • Store backup to RackSpaceCloud (curl)
  • Store backup to SugarSync (needs curl)
  • PRO: Store backup to Amazon Glacier (needs curl)
  • PRO: Store backup to Google Drive (needs curl)
  • PRO: Store backup to OneDrive (needs curl)
  • PRO: Store backup to HiDrive (needs curl)
  • Send logs and backups by email
  • Multi-site support only as network admin
  • Pro version and support available – BackWPup Pro
  • NEW – PRO: Restore your backups with only a few clicks from your WordPress backend. Also available as Standalone App.
  • NEW – PRO: Encrypt backup archives and restore from encrypted backups.

In case you need to comply with the new GDPR regulation, check out our post BacKWPup, Backups and GDPR.


  • WordPress 3.9 and PHP 7.2 required! (read more about recommended php version and why you should switch to modern php)
  • To use the Plugin with full functionality PHP 7.2 with mysqli, FTP,gz, bz2, ZipArchive and curl is needed.
  • Plugin functions that don’t work because of your server settings, will not be displayed in admin area.

Our friends at OSTraining have done a tremendous job with their video tutorials on BackWPup. The complete series of five videos have been made available for free on YouTube.

(Are you a WordPress novice? Check out all of OSTraining’s WordPress video trainings!)

Remember: The most expensive backup is the one you never did! And please test your backups!

Get the BackWPup Pro Version with more features.

Made by WP Media


  • Working job and jobs overview
  • Job creation/edit
  • Displaying logs
  • Manage backup archives
  • Dashboard


How do I restore a backup?

Restoring backups made with BackWPup can be done multiple ways. Please take a look at our documentation here to learn more.

BackWPup Pro includes a convenient restore feature to restore your backups directly from your WordPress admin.

BackWPup Pro also offers many additional features including more settings, destinations, a Standalone Restore App and of course access to our premium support. To learn more about the differences between BackWPup Free and Pro, have a look at this chart.

My backup jobs don’t seem to run as scheduled.

BackWPup uses WordPress’ own cron job system (WP Cron) to execute scheduled backup jobs. In order for WordPress to “know” when to execute a job, its “inner clock” needs to be set regularly. That happens whenever someone (including yourself) visits your site.
If your site happens to not being visited for a period of time, WordPress’ inner clock gets sort of slow. In that case it takes an extra server-side cron job to regularly call http://your-site.tld/wp-cron.php and tell WordPress what time it is.

A simple way to find out whether WP Cron works as it should on your site is to create a new post and set its publishing date to some point in the future, i.e. 10 minutes from now. Then leave your site (that’s important), come back after 11 minutes and check whether your scheduled post has been published. If not, you’re very likely to have an issue with WP Cron.

Yuk! It says: “ERROR: No destination correctly defined for backup!”

That means a backup job has started, but BackWPup doens’t know where to store the backup files. Please cancel the running job and re-edit its configuration. There should be a Tab “To: …” in your backup job’s configuration. Have you set a backup target correctly?

A backup job has started, but nothing seems to be happening—not even when I re-start it manually.

Solution #1

  • Open BackWPup->Settings
  • Go to the Informations tab.
  • Find Server self connect: in the left column.
  • If it says something like (401) Authorisation required in the right column, go to the Network tab and set the username and password for server-side authentication.
  • Try again starting the backup job.

Solution #2

  • Open wp-config.php and find the line where it says if ( !defined('ABSPATH') ).
  • Somewhere before that line add this: define( 'ALTERNATE_WP_CRON', true );

Solution #3

Not really a solution, but a way to identify the real problem: see remarks on WP Cron at the top.

I get this error message: `The HTTP response test get a error “Connection time-out”`

BackWPup performs a simple HTTP request to the server itself every time you click run now or whenever a backup job starts automatically. The HTTP response test message could mean:
* Your host does not allow loop back connections. (If you know what WP_ALTERNATE_CRON is, try it.)
* Your WordPress root directory or backup directory requires authentication. Set username and password in Settings->Network.
* The Server can’t resolve its own hostname.
* A plugin or theme is blocking the request.
* Other issues related to your individual server and/or WordPress configuration.

I get a fatal error: `Can not create folder: […]/wp-content/backwpup-[…]-logs in […]/wp-content/plugins/backwpup/inc/class-job.php …`

Please set CHMOD 775 on the /wp-content/ directory and refresh the BackWPup dashboard. If that doesn’t help, try CHMOD 777. You can revert it to 755 once BackWPup has created its folder.

When I edit a job the Files tab loads forever.

Go to Settings->General and disable “Display folder sizes on files tab if job edited”. Calculating folder sizes can take a while on sites with many folders.

I generated a list of my installed plugins, but it’s hard to read.

Try opening the text file in an editor software like Notepad++ (Windows) or TextMate (Mac) to preserve line-breaks.

My web host notified me BackWPup was causing an inacceptable server load!

Go to Settings->Jobs and try a different option for “Reduce server load”.

Can I cancel a running backup job via FTP?

Yes. Go to your BackWPup temp directory and find a file named backwpup-xyz-working.json where “xyz” is a random string of numbers and characters. Delete that file to cancel the currently running backup job.

Can I move the temp directory to a different location?

Yes. You need to have writing access to the wp-config.php file (usually residing in the root directory of your WordPress installation).

  • Open wp-config.php and find the line where it says if ( !defined('ABSPATH') ).
  • Somewhere before that line add this: define( 'WP_TEMP_DIR', '/absolute/path/to/wp/your/temp-dir' );
  • Replace /absolute/path/to/wp/ with the absolute path of your WordPress installation and your/temp-dir with the path to your new temp directory.
  • Save the file.

What do those placeholders in file names stand for?

  • %d = Two digit day of the month, with leading zeros
  • %j = Day of the month, without leading zeros
  • %m = Day of the month, with leading zeros
  • %n = Representation of the month (without leading zeros)
  • %Y = Four digit representation for the year
  • %y = Two digit representation of the year
  • %a = Lowercase ante meridiem (am) and post meridiem (pm)
  • %A = Uppercase ante meridiem (AM) and post meridiem (PM)
  • %B = Swatch Internet Time
  • %g = Hour in 12-hour format, without leading zeros
  • %G = Hour in 24-hour format, without leading zeros
  • %h = Hour in 12-hour format, with leading zeros
  • %H = Hour in 24-hour format, with leading zeros
  • %i = Two digit representation of the minute
  • %s = Two digit representation of the second


December 12, 2023 1 reply
The free version doesn't have restore options, I could handle that, however the fact that they further cripple it to really only support DropBox & FTP is a step way too far. If you want to save your backups locally and perhaps manually move them to the cloud then this does look like a good plug to test for that. Back to the "UpdraftPlus - Backup/Restore" plugin for me. The only reason I'm looking elsewhere is that the free version this plugin doesn't let you schedule the backup times. I volunteer for a non-profit so I don't want to pay for every little thing.
August 27, 2023 1 reply
It's a scam! Paying $70 for an extension, then $40 a day to keep it, is a big scam!!!I don't even believe in what this company does and how they treat customers.What a shame !!!
August 15, 2023 1 reply
Dangerous at the highest level. We used BackWPup to create and download a backup file (I have the file to prove it). One week later, the Logs and Backups in the plugin show empty, and apparently, the only way to restore from the downloaded backup file is to buy a Pro subscription. We made this backup before making major changes to the website, believing that it will be restorable, and now it is lost. Who TF needs a backup plugin that only creates (and, apparently, loses without any trace) backup files but does not have a restore option?
April 5, 2023
Unfortunately, the plugin activating routine not checking the server possibilities before activating, and try to work on unsupported PHP version, kills the site. Should be correct this routine
March 28, 2023
The fact, that there is no easy restore option should be clearly stated on the plugin's description page. The fact that it is only available only in the Pro version is, in my view, an ugly tactic to force non technical users to purchase it they need to restore something.
Read all 1,006 reviews

Contributors & Developers

“BackWPup – WordPress Backup Plugin” is open source software. The following people have contributed to this plugin.


“BackWPup – WordPress Backup Plugin” has been translated into 18 locales. Thank you to the translators for their contributions.

Translate “BackWPup – WordPress Backup Plugin” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



Release date: February 22, 2024

  • Fixed: Security issue where FTP passwords were stored in the database in plaintext.


Release date: November 22, 2023

  • Fixed: Disallow backups or logs directories from being outside of wp-content directory for security purposes


Release date: October 18, 2023

  • Changed (pro): Clarified instructions in the “Path to mysqldump file” field
  • Changed: Upgraded minimum version to PHP 7.2.5
  • Fixed (pro): Restoring a compressed database backup resulted in a “Could not get size of SQL file” error
  • Fixed (pro): 500 error in Restore app, due to missing dependencies
  • Fixed (pro): Escaped previously unescaped SQL query
  • Fixed (pro): Security issue regarding location of restore files
  • Fixed (pro): PHP warning when configuring a wizard with the glacier destination
  • Fixed: Missing nonce validation on certain AJAX endpoints
  • Fixed: Escaping for values on log output
  • Fixed: Escaping of sendmail command
  • Fixed: Corrected an invalid URL in the documentation link found in the plugin overview
  • Fixed: Various deprecation notices on PHP 8.0+
  • Fixed: Issue where webp thumbnail images were not excluded despite enabling the “Don’t backup thumbnails from the site’s uploads folder” option
  • Fixed: Ensure validation of logfile parameter during job run


Release Date: November 16, 2022

  • Added: Support for additional S3 storage classes
  • Added: Support for Glacier Instant Retrieval
  • Added: Created backwpup_ftp_use_passive_address filter for when FTP is behind NAT
  • Added: Support for object lock in S3 by adding Content-MD5 header
  • Added (pro): Include unique IV when encrypting archives
  • Added (pro): Default character set fetched from alternative database credentials
  • Changed: Upgraded minimum version to PHP 7.2
  • Changed (pro): Upgraded Google Drive SDK to V3
  • Fixed: Better support for PHP 8
  • Fixed: PHP warning when backing up to S3 destination
  • Fixed: Unable to download from S3 when using predefined region
  • Fixed: Unable to download from SugarSync
  • Fixed: Backups downloaded twice from MS Azure
  • Fixed: wp-config.php backed up twice when parent folder is included in backup
  • Fixed: Text fields too long on SugarSync destination settings
  • Fixed: Dropbox runs out of memory when more than 50 files in folder
  • Fixed (pro): Authentication of OneDrive when HTTP_REFERER not set.
  • Fixed (pro): Displayed creation date of OneDrive backups was incorrect
  • Fixed (pro): Disabled mysqldump radio button when binary cannot be found
  • Fixed (pro): HiDrive does not detect when refresh token expires
  • Removed: Unnecessary AWS and Google library files to save on package size.

Version 3.10.0

Release Date: September 1, 2021

  • Added: Support for Dropbox short-lived access tokens
  • Fixed (pro): Prevent out of memory error on HiDrive backups
  • Fixed (pro): Small files uploaded twice to HiDrive
  • Fixed (pro): Fatal error on plugin update if $transient is null
  • Fixed (pro): Restore of stored functions, procedures, and triggers
  • Fixed: Export of stored functions, procedures, and triggers including delimiters
  • Fixed: Support emojis and other 4-byte characters in database dump
  • Fixed: PHP 8 deprecation notice in XML export

Version 3.9.0

Release Date: June 10, 2021

  • Added (pro): Migrate website to another URL
  • Added (pro): Validation for database credentials on restore
  • Added: PHP notice for outdated PHP versions less than 7.2
  • Fixed (pro): License deactivated on settings save
  • Fixed (pro): Corrupted path name in Google Drive destination
  • Fixed (pro): Unable to download backup from Google Drive
  • Fixed: Unable to connect to custom S3 endpoints
  • Fixed: Intermittent error selecting restore strategy
  • Fixed: Memory leaks when uploading to S3
  • Fixed: PHP 7.4 Deprecation notices
  • Fixed: PHP 8 compatibility issues
  • Fixed: Remove BackWPup user roles on uninstall in multisite
  • Fixed: Correctly handle relative upload paths
  • Fixed: Display welcome page even after consent dialog clicked
  • Fixed: Exclude non backup files from the backups page
  • Fixed: Format dates as ISO-formatted dates instead of binary hex in MySQL backup
  • Fixed: Don’t pre-fill database credentials when backing up non-WordPress database
  • Fixed: Description of replacement patterns for archive name
  • Fixed: Added missing destinations to destination list in about page
  • Fixed: Made BackWPup banner local
  • Removed: Phone home client
  • Removed: Remote admin notices

Version 3.8.0

Release Date: September 22, 2020

  • Added: OneDrive destination for Pro version
  • Added: HiDrive destination for Pro version
  • Added: WordPress 5.5 compatibility
  • Added: PHP 7.4 compatibility
  • Added: Option to keep BackWPUp data after plugin uninstall
  • Added: More default excluded folders and files for BackWPUp
  • Fixed: Custom S3 destination return error after Amazon library update
  • Fixed: PHP Notice: Undefined index: dbdumpdbcharset
  • Fixed: Cannot use variables for the xml file name
  • Fixed: Deprecated: Non-static method BackWPup_Admin::admin_css() should not be called statically
  • Fixed: Prevent click on overlay disable backup download process
  • Fixed: BackWPUp redirects even in the CLI environment

Version 3.7.1

Release Date: March 30, 2020

  • Fixed: Error Notices CSS is loaded on all pages and overwrite the color of other plugins notices
  • Updated: License system update for premium version (Pro version)

Version 3.7.0

Release Date: Nov 27, 2019

  • Updated: Raise the minimum PHP version required by BWU to 5.6
  • Updated: Microsoft Azure Storage Blob PHP Client Library
  • Fixed: S3 custom url not used for bucket selection
  • Fixed: S3 malformed error message when authentication credentials are wrong
  • Fixed: S3 selecting an invalid service raise no error
  • Fixed: Rackspace uses old cacert.pem file
  • Fixed: Log page not correcty sorted
  • Added: Option to enable or disable the phone home client

Version 3.6.10

Release Date: July 8, 2019

  • Fixed: Azure Supports https on uploading
  • Fixed: Auto remove old backup files not working when archive file name have prefix “backwpup”
  • Added: Filter to extend list of S3 destinations
  • Removed: S3 multipart upload checkbox, now in destination definition
  • Updated: Amazon AWS SDK for S3 services, now PHP 5.5+ is needed
  • Added: Filter to extend list of Glacier destinations (Pro version)
  • Updated: Amazon AWS SDK for Glacier, now PHP 5.5+ is needed (Pro version)

Version 3.6.9

Release Date: May 7, 2019

  • Fixed: Google Drive destination automatically remove old backup files
  • Fixed: Do not expose destination data within the manifest file
  • Fixed: Update Dropbox Tokens
  • Fixed: Restore error: MIME returns html instead of event stream
  • Fixed: Log files name are predictable because of weak hash
  • Fixed: ZipArchive doesn’t fallback to PclZip in Restore
  • Fixed: Session already started could cause issues during ajax calls
  • Fixed: Wrong vendor include path for PEAR using MS Azure
  • Fixed: Decryption Key prompt when any error occur during the first step of a Restore
  • Fixed: Phone home client notice and php 5 issue with php short echo tag
  • Fixed: mime_content_type function may not exists prevent backup decryption
  • Improve: Restore Log and produce report for user feedback
  • Changed: License changed to GPLv2+

Version 3.6.8

Release Date: Feb 25, 2019

  • Fixed: Typos in settings job page
  • Fixed: Rest API admin note language doesn’t change when changing user language

Version 3.6.7

Release Date: Jan 22, 2019

  • Fixed: More margin to dashboard footer to avoid save button unclickable
  • Fixed: On folder sync destination folder is not created
  • Fixed: Encryption option should not be displayed for syncing job
  • Fixed: Restore stuck on file restore step because of file permission issue
  • Fixed: “Do not delete files while syncing to destination!” not working
  • Tweak: Increase PHP Version from 5.3.2 to 5.3.3
  • Tweak: Encryption Settings description and ui improvements
  • Tweak: On restore error, include restore.dat file along with the log when user download the restore log file
  • Tweak: Lock server to execute same task multiple time when one is already in progress

Version 3.6.6

Release Date: Nov 28, 2018

  • Fixed: Files could be excluded from the backup because of incorrect string comparison

Version 3.6.5

Release Date: Nov 23, 2018

  • Fixed: Admin notice won’t update correctly

Version 3.6.4

Release Date: Nov 22, 2018

  • Fixed: Encrypted backup must force users to download the encryption keys
  • Fixed: Warning mime type when a backup is going to be downloaded
  • Fixed: Admin Notice in free version is sometimes empty
  • Fixed: Random restore error about SQL syntax when restoring a database
  • Fixed: Exclude restore directories to be copied during a restore phase
  • Fixed: Standalone App has no encryption support
  • Fixed: Open basedir, backup dir is not within the allowed path
  • Fixed: Unable to download backup file because of mime_content_type function missing in some environment
  • Tweak: Encryption Settings UI
  • Tweak: Minor translations issues
  • Tweak: Remove languages files from the free version, …