Skip to content

wp-media/backwpup

Repository files navigation

=== BackWPup – WordPress Backup & Restore Plugin ===
Contributors: backwpup, wp_rocket, imagify
Tags: backup, restore, cloud backup, database backup, wordpress backup
Requires at least: 3.9
Tested up to: 6.5.3
Requires PHP: 7.2
Stable tag: 4.1.2
License: GPLv2+

Create a complete WordPress backup easily. Schedule automatic backups, store securely, and restore effortlessly with the best WordPress backup plugin!

== Description ==

= The Best WordPress Backup & Restore Plugin =

🆕 The restore option is now included in the free version!

[BackWPup](https://backwpup.com/) is the most comprehensive backup & restore plugin for WordPress.

Easily create a complete WordPress backup, store it on external services (such as **Dropbox**, **S3**, **FTP**, and more) and restore your backup directly from your WordPress admin, in just a few clicks.

BackWPup is designed for ease of use. Even beginners can create a reliable backup of their WordPress sites with just a few clicks. With BackWPup, you can enjoy peace of mind knowing your data is safe and secure. Whether you are a small business owner or a large enterprise, BackWPup is the tool you need to protect your WordPress site.

= Schedule and Manage Backups Easily =

With BackWPup, you have full control over your backup process. You can back up your entire WordPress site, including files and database, save them to multiple locations, and easily restore your site from a backup if anything goes wrong.

You can choose what to back up, how often to perform backups, and where to store them:
* Backup your entire WordPress installation, including the /wp-content/ folder and your database.
* Schedule automatic backups to run daily, weekly, or monthly, ensuring that your data is always up-to-date and secure.
* Store your backup in different locations: Dropbox, S3, FTP, Google Drive, OneDrive, and more, ensuring your data is always secure and accessible.

This flexibility makes BackWPup the best choice for WordPress backup.

= Easily Restore Your WordPress Site =

The restore option is now included in the free version. Easily restore your site from a backup with just a few clicks.
To restore a backup, go to the BackWPup plugin dashboard in your WordPress admin area. Navigate to the 'Backups' tab to see a list of your saved backups. Select the backup you wish to restore and click the 'Restore' button. Follow the on-screen instructions to complete the restoration process.
This feature ensures that even in the event of data loss or site issues, you can quickly and efficiently restore your site to its previous state.

= Improve Your Site’s Reliability and Performance  =
Did you know that regular backups and database maintenance can improve the performance and reliability of your WordPress site? With BackWPup, you can ensure that your data is always protected and that your site is always running smoothly.
By scheduling regular backups and database maintenance, you can avoid data loss and downtime. BackWPup makes it easy to protect your data and keep your site running at its best.
Even Google recommends regular backups and database maintenance to ensure the reliability and performance of your site. With BackWPup, you can follow best practices and keep your site secure and reliable.


= What Do Our Users Think Of BackWPup? =

Here’s what our users have to say about us after using BackWPup:

>"Thanks to the developers for a very handy plugin! I’ve been using it for many years and it has never let me down! Thank you!" — [alexeytrusovru ](https://wordpress.org/support/topic/very-convenient-and-easy-to-configure-plug-ins/)>

>”Must have for backup. So easy to use and so much feature. You can choose what to backup : files, db, plugin, theme… Then you can choose where to backup like upload to your dropbox.”— [zuriiwest](https://wordpress.org/support/topic/must-have-for-backup/)>

> "Using this for 2 years for 30 sites without any issue, worked perfectly for me!" — [hoathuy](https://wordpress.org/support/topic/using-this-for-2-years-for-30-sites-without-any-issue-worked-perfectly-for-me/)>

> "My favorite backup plugin – use it on many sites. I manage many sites, and this has been my favorite backup plugin for years. It has a number of features that are not available in the free versions of other backup plugins (or at least, not all in the same plugin)
" — [syzygist](https://wordpress.org/support/topic/my-favorite-backup-plugin-use-it-on-many-sites/)>


= Is BackWPup Free? =

You can use BackWPup for free with all its basic features. The free version includes complete backup, scheduling, support for external storage services (like Dropbox, S3, FTP, and more) and restore.

The pro version offers many additional features including more settings, destinations and of course access to our premium support. Check out our premium plans: [https://backwpup.com/#buy](https://backwpup.com/#buy)


= Who Are We? =

We are [WP Media](https://wp-media.me/), the company behind WP Rocket, the best caching plugin for WordPress.

Our mission is to improve the web. We are making it faster with [WP Rocket](https://wp-rocket.me/), lighter with [Imagify](https://imagify.io) and safer with [BackWPup](https://backwpup.com/).


= Get In Touch! =

* Website: [backwpup.com](https://backwpup.com/)
* Contact Us: [https://backwpup.com/contact/](https://backwpup.com/contact/)


= Related Plugins =

* [WP Rocket: The best performance plugin](https://wp-rocket.me/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=backwpupplugin) to speed up your WordPress website.
* [Imagify: The best image optimization plugin](https://imagify.io/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=backwpupplugin) to speed up your website with lighter images.
* [Lazy Load](https://wordpress.org/plugins/rocket-lazy-load/): The best Lazy Load script to reduce the number of HTTP requests and improve the website's loading time.
* [Heartbeat Control by WP Rocket](https://wordpress.org/plugins/heartbeat-control/): Heartbeat Control by WP Rocket: The best plugin to control the WordPress Heartbeat API and reduce CPU usage.
* [RocketCDN: The best CDN plugin for WordPress](https://rocketcdn.me/wordpress/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=backwpupplugin) to propel your content at the speed of light – no matter where your users are located in the world.
* [Increase Max upload file size](https://wordpress.org/plugins/upload-max-file-size/): The best plugin to increase the upload file size limit to any value with one click.



License: GPLv2 or later

License URI: http://www.gnu.org/licenses/gpl-2.0.html


== Installation ==


= WordPress Admin Method =


1. Go to you administration area in WordPress `Plugins > Add`

2. Look for `BackWPup` (use search form)

3. Click on Install and activate the plugin


= FTP Method =

1. Upload the complete `backwpup` folder to the `/wp-content/plugins/` directory

2. Activate the plugin through the 'Plugins' menu in WordPress

= Pro Version =
[You can find a detailed tutorial in the BackWPup documentation]. (https://backwpup.com/docs/install-backwpup-pro-activate-licence/)



== Frequently Asked Questions ==

= How do I restore a backup? =
Restoring backups made with BackWPup can be done multiple ways. Please take a look at our [documentation here](https://backwpup.com/docs/how-to-restore-a-wordpress-backup/) to learn more.

= 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 doesn’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 restart 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](http://en.wikipedia.org/wiki/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

== Changelog ==

= 4.1.2 =
Release date: Jun 27, 2024

* Fixed: Open_basedir restriction on some servers
* Added: Notice to ask users their experience with BackWpUp

= 4.1.1 =
Release date: Jun 18, 2024

* Changed: AutoExclude the cache plugin folders from the backup
* Fixed: Problems with the sql dump of the database
* Fixed: Update phpseclib library to fix issues in Windows environment.

= 4.1.0 =
Release date: Jun 4, 2024

* Changed: Add Restore to the free version
* Fixed: Improved checking of encrypted archives
* Added (pro): decryption and encryption with WP-CLI of archives
* Fixed (pro): Problems with Asymmetric encryption on restarts

= 4.0.5 =
Release date: May 21, 2024

* Fixed (pro): Gdrive oAuth authentication flow

= 4.0.4 =
Release date: March 12, 2024

* Fixed: Changed directory structure of BackWPup temporary files to prevent unauthorized access of database backup.

= 4.0.3 =
Release date: February 22, 2024

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

= 4.0.2 =
Release date: November 22, 2023

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

= 4.0.1 =
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

= 4.0.0 =
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 14, 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 21, 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: (Pro) License system update for premium 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: Jul 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, the plugin will use translation.wordpress.org

= Version 3.6.3 =
Release Date: Nov 5, 2018

* Fixed: "Failed to restore file": file restore progress stop working and jump directly to database restore step
* Fixed: Restore progress stuck on "restoring database" with archive backup contains files only
* Fixed: All config.php files are not in backup archive

= Version 3.6.2 =
Release Date: Oct 17, 2018

* Fixed: Not recognized file extensions get an additional underscore in the file name in zip file
* Fixed: Backup archive file have dot folder contains all web root files
* Fixed: Ftp destination downloader repetitively open a new handler for the source file causing corrupted backup

= Version 3.6.1 =
Release Date: Sep 25, 2018

* Fixed: Backup doesn't handle special characters correctly
* Fixed: Use of function that doesn't exists prior to 4.9
* Fixed: Class bryter/helpers/csrf/CSRF.php was not loaded
* Fixed: Backup don't override old database file in web root
* Fixed: Restore Folder backup won't download the backup file
* Fixed: Function `owns_backup_archive` not exists, the one is `is_backup_archive`
* Fixed: Some settings page and license api manager strings are missing translation
* Fixed: Incompatibility with php 5.3 in destination folder downloader
* Fixed: fatal error on Amazon Glacier because of an undefined function
* Fixed: Ensure extra files are not overwritten
* Fixed: Cannot delete woocommerce_downloadable_product_permissions table
* Fixed: Incompatibility with php 5.3 in the restore process

= Version 3.6.0 =
Release Date: June 14, 2018

* Added: Pro Feature - Encrypt before sending backups to the cloud
* Fixed: Handling of special Amazon S3 regions such as Google Storage
* Fixed: Downloading of large files encountered PHP memory error
* Improved: Delete pro-only scss files in free version
* Fixed: Version constraints of composer dependencies
* Fixed: Localized strings from restore
* Fixed: Deleting FTP backup resulted in error
* Fixed: openssl_encrypt compatibility with PHP 5.3

= Version 3.5.1 =
Release Date: May 23, 2018

* Fixed: call to a member function close() on null
* Fixed: Cannot use object of type WP_Error as array
* Fixed: Can't use function return value in write context
* Fixed: Compatibility with PHP 5.3
* Fixed: Decreased size of plugin by purging unneeded files

= Version 3.5.0 =
Release Date: May 16, 2018

* Added: Restore for pro version
* Fixed: stylesheet was being included on frontend