BackUpWordPress

Description

BackupWordPress was created by our friends at Human Made but is now under new ownership. We’re committed to opensource and WordPress and will provide free support for the many BackupWordPress fans.
We’ll make occasional updates to the free software – please send us any patches you’d like to see released here: https://github.com/orgs/xibodevelopment/

However, we’ll no longer be selling or supporting the paid add-ons (e.g. for backups to Dropbox and Google Drive). It’s certainly a good idea to backup to cloud storage to protect against server-wide risks.
For this we recommend UpdraftPlus WordPress Backups which can do things for free BackupWordPress Premium could do on a paid basis. Click here for full comparison.

BackUpWordPress will back up your entire site including your database and all your files on a schedule that suits you. Try it now to see how easy it is!

This plugin requires PHP version 5.3.2 or later

Features

  • Super simple to use, no setup required.
  • Works in low memory, “shared host” environments.
  • Manage multiple schedules.
  • Option to have each backup file emailed to you.
  • Uses zip and mysqldump for faster backups if they are available.
  • Works on Linux & Windows Server.
  • Exclude files and folders from your backups.
  • Good support should you need help.
  • Translations for Spanish, German, Chinese, Romanian, Russian, Serbian, Lithuanian, Italian, Czech, Dutch, French, Basque.

Translations

We’d also love help translating the plugin into more languages, if you can help then please visit https://translate.wordpress.org/projects/wp-plugins/backupwordpress/dev/ to start translating.

Screenshots

  • Manage multiple schedules.
  • Choose your schedule, backup type, number of backups to keep and whether to receive a notification email.
  • Easily manage exclude rules and see exactly which files are included and excluded from your backup.

Installation

  1. Install BackUpWordPress either via the WordPress.org plugin directory, or by uploading the files to your server.
  2. Activate the plugin.
  3. Sit back and relax safe in the knowledge that your whole site will be backed up every day.

The plugin will try to use the mysqldump and zip commands via shell if they are available, using these will greatly improve the time it takes to back up your site.

FAQ

Where does BackUpWordPress store the backup files?

Backups are stored on your server in /wp-content/backups, you can change the directory.

Important: By default BackUpWordPress backs up everything in your site root as well as your database, this includes any non WordPress folders that happen to be in your site root. This does mean that your backup directory can get quite large.

What if I want to back up my site to another destination?

We no longer be sell or support the paid add-ons (e.g. for backups to Dropbox and Google Drive). It’s certainly a good idea to backup to cloud storage to protect against server-wide risks. For this we recommend UpdraftPlus WordPress Backups which can do things for free BackupWordPress Premium could do on a paid basis. Click here for full comparison.

How do I restore my site from a backup?

You need to download the latest backup file either by clicking download on the backups page or via FTP. Unzip the files and upload all the files to your server overwriting your site. You can then import the database using your hosts database management tool (likely phpMyAdmin).

Does BackUpWordPress back up the backups directory?

No.

I’m not receiving my backups by email

Most servers have a filesize limit on email attachments, it’s generally about 10mb. If your backup file is over that limit, it won’t be sent attached to the email. Instead, you should receive an email with a link to download the backup. If you aren’t even receiving that, then you likely have a mail issue on your server that you’ll need to contact your host about.

How many backups are stored by default?

BackUpWordPress stores the last 10 backups by default.

How long should a backup take?

Unless your site is very large (many gigabytes) it should only take a few minutes to perform a backup. If your back up has been running for longer than an hour, it’s safe to assume that something has gone wrong. Try de-activating and re-activating the plugin. If it keeps happening, contact support.

What do I do if I get the wp-cron error message?

The issue is that your wp-cron.php is not returning a 200 response when hit with a HTTP request originating from your own server, it could be several things. In most cases, it’s an issue with the server / site.

There are some things you can test to confirm this is the issue.

 * Are scheduled posts working? (They use wp-cron as well.)

 * Are you hosted on Heart Internet? (wp-cron may not be supported by Heart Internet, see below for work-around.)

 * If you click manual backup, does it work?

 * Try adding `define( 'ALTERNATE_WP_CRON', true );` to your `wp-config.php`. Do automatic backups work?

 * Is your site private (i.e. is it behind some kind of authentication, maintenance plugin, .htaccess)? If so, wp-cron won't work until you remove it. If you are and you temporarily remove the authentication, do backups start working?

How to get BackUpWordPress working in Heart Internet

The script to be entered into the Heart Internet cPanel is: /usr/bin/php5 /home/sites/yourdomain.com/public_html/wp-cron.php (note the space between php5 and the location of the file). The file wp-cron.php chmod must be set to 711.

My backups seem to be failing?

If your backups are failing, it’s commonly caused by a lack of available resources on your server. To establish this is the case, exclude the complete (or parts of the) uploads folder and run a backup. If that succeeds, you know it’s probably a server issue. If it does not succeed, you can find further assistance on our support forums.

Further Support & Feedback

General support questions should be posted in the WordPress support forums, tagged with backupwordpress.

Reviews

नवम्बर 22, 2024
This is my favorite plugin for backups, doing everything needed for a full backup and simple restore 100% of the site. With this plugin, I know my backup is complete and can be used to repair site or to move to new host. Thank you.
अगस्त 1, 2024
Very good plugin, simple but powerfull with all I needed to do a full backup of a WP site.
मई 24, 2024
I like simple, straight forward, and reliable. This plugin is it, in spades. I was so happy to learn that a new owner took it up after a brief but worrying hiatus. Well worth the effort. Thank you!
Read all 1,369 reviews

Contributors & Developers

“BackUpWordPress” has been translated into 14 locales. Thank you to the translators for their contributions.

Translate “BackUpWordPress” into your language.

Interested in development?

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

Changelog

3.14 / 2024-04-22

  • Fixed security vulnerability through directory traversal while authenticated as admin

3.13 / 2022-02-23

  • Security fix for heartbeat
  • Correct spelling of Human Made
  • PHP 8.0 compatibility

3.12 / 2022-01-27

  • Updated to WP 5.9

3.11 / 2021-03-08

  • Updated to WP 5.7

3.10 / 2019-06-12

  • Fixed whitelist-html

3.9 / 2019-06-10

  • Readme update

3.8 / 2018-11-01

  • GNU Wording change

3.7.2 / 2018-10-29

  • Check remove intercomm links

3.7.1 / 2018-09-11

  • Fixed admin notices

3.7 / 2018-08-30

  • Updated readme to reflect ownership changes
  • Stripped out support and premium links

3.6.4 / 2016-06-02

  • Various improvements to exclusion handling.
  • i18n improvements.
  • Misc. UI improvements.

3.6.3.1 / 2016-12-14

  • Fix issue where low disk space caused the admin interface to be unavailable
  • Fix issue where admin notices were causing databases and error logs to fill up
  • Improves file size calculations
  • Improves remaining disk space calculations
  • Improves file exclusion methods
  • Misc admin interface improvements
  • Misc code quality improvements and bug fixes

3.6.2 / 2016-08-02

  • Improves admin performance.
  • Improves security in internationalised strings.

3.6.1 / 2016-04-26

  • Bug fixes/improvements in disk space calculation
  • Misc bug fixes

3.6.0 / 2016-03-31

  • Fix a bug caused by using a function incompatible with min PHP version requirements
  • Misc code quality improvements and bug fixes
  • Fix bugs in the code responsible for admin notices
  • Display disk space info
  • Uninstall cleanup
  • Introduce a dedicated extensions page

3.5 / 2016-03-10

  • Reduce duplication and improve code readability when echoing filesizes
  • Improve how filesizes are handled in the Your Site list
  • Switch to storing site size data in a file, large sites could cause database errors when saving the option
  • Re-remove the PHP User and Group Requirements
  • Check that the backup file exists before attempting to check it’s contents
  • Only call getPerms on readable files to ensure we avoid a fatal error
  • Ensure error are correctly check in verify_backup
  • Use Symfony Process instead of shell_exec for all our system calls
  • More unit tests
  • Update dependencies
  • Detect disabled functions defined in php.ini, now accounts for different separators.

3.4.5 / 2016-02-23

  • Fix fatal error on upgrade

3.4.4 / 2016-02-23

  • Ensure temporary files are correctly cleaned up before and after running a backup.
  • Avoid killing site if plugin is active on PHP 52
  • Allow custom secure key using filter
  • Fixes a bug which caused the root path to the WordPress install to be miscalulated in certain setups.

3.4.4-beta

  • Fixes a bug which caused the root path to the WordPress install to be miscalulated in certain setups.

3.4.3

  • Fix a bug where backups were not downloadable when WordPress installed in a subdirectory

3.4.2

  • Remove the usage of shell_exec in two of our warning messages, fixes a PHP Warning on systems with it disabled.
  • Improve how we handle open_basedir restrictions, fixes a PHP Warning on some systems. Adds unit tests to cover open_basedir handling.
  • Show an error message if neither mysqldump nor PDO:mysql are available. Database backups won’t work without at least one of them.
  • Improve our upgrade code for users upgrading from pre version 2.0. Fixes a possible fatal error and ensures backups and backup settings are correctly brought forward.

3.4.1

  • Fix a possible PHP Warning in the Schedule Sentence.

3.4 / 2016/01/20

  • Introduces a major re-factor of the underlying backups engine, many bugs fixed and much improved unit test coverage.
  • Vastly improved Windows Server support.
  • We no longer write errors and warnings to files on disk.
  • Update to the latest version of symfony/finder.
  • Update to the latest version of ifsnop/mysqldump-php.

3.3.4 / 2015-12-10

  • Fixes styling issues with WordPress 4.4

3.3.3 / 2015-11-13

  • Fix broken Intercom support window
  • Fixes Typos in i18n strings
  • Backups finish faster
  • Fix an issue that caused the site size to report as twice as large as it should
  • Adds PHP mysqldump fallback lib (ifsnop/mysqldump-php)

3.3.2 / 2015-10-15

  • Misc improvements

3.3.1 / 2015-10-12

  • Fix false positive error message.
  • Fix broken download links

3.3.0 / 2015-10-09

  • Dropped support for PclZip
  • Fixed duplicate cron schedule interval names ( props ucavus )
  • Corrected some typos, grammar and punctuation ( props ucavus )
  • Fixed a bug in the WP CLI command ( props duritong )
  • Better message for wp-cron related errors
  • Replace ‘bi-weekly’ with less confusing wording
  • Fixed a few errors misc reported by code quality tool
  • Total site size display now subtracts excludes
  • Many general improvements and bug fixes

3.2.7 / 2015-07-27

  • Pass schedule type instead of schedule id as context for the calculated sizes, it’s more useful
  • Simply output arrays rather than trying to be too clever about it
  • Start tracking PDO availability through Intercom
  • Catch database and files shell_exec warnings
  • Test under PHP 5.6 in Travis
  • Use the new backupwordpress@hmn.md email address everywhere
  • Clarify how people request access to Slack and GlotPress
  • Rewrite our contributing guidelines to be more comprehensive
  • Add instructions to contributing.md
  • Revert plugin name as it doesn’t make a diff in search results
  • Always return an integer

3.2.6 / 2015-06-09

  • Fixes admin page slug for multisite

3.2.5 / 2015-04-29

  • Fixes an issue when evaluating expression with empty
  • Fixes a fatal error on PHP 5.3
  • Displays other notices
  • Updates stable tag
  • Adds some escaping and sanitizing
  • Defines plugins dir for different environments
  • Adds tests for activation and deactivation hooks
  • Adds a debugging function for tests
  • Symlinks plugin into tests dir
  • Splits out deactivation code into separate functions
  • Fixes activation and deactivation hooks not being fired
  • Exclude backups folder from size calculation
  • Fixes a misplaced parenthesis
  • Fixes how error messages are bubbled up
  • get home path should return defined value
  • Removes redundant exclude statement as CVS folders are excluded by default
  • Adds a flag parameter to allow get_files to return all files including default excludes

3.2.4 / 2015-04-01

  • Fixes default exclude pattern that was too greedy.

3.2.3 / 2015-04-01

  • Fixes issue where files where ‘cache’ files were excluded by default.
  • Updates brazilian portuguese translations.
  • Fixes the issue with the ‘no thanks’ button in the Support modal and misc JS improvements. props SiamKreative.

3.2.2 / 2015-03-25

  • Fixes error in manual backups, caused by incorrect plugin version number in class, which is used for the JS script version.

3.2.1 / 2015-03-25

  • Check if shell_exec is available before running command
  • Only validate day of month if this is the schedule type
  • Make FS optional and fix the DB connect method
  • (issue-770) Exclude the folder, not the wildcard
  • (issue-751) Rename plugin

3.2 / 2015-03-16

  • (issue-698) skip mySql bug
  • Use shell_exec
  • Remove use statement
  • Revert to using shell_exec
  • Remove Process
  • (cool-runnings-757) Add back session_write_close
  • (issue-479) Hide hours and minutes for hourly backups
  • (backupception) Only load if main site on multisite
  • (all-paths-lead-to-rome) Set plugin path to main plugin file to avoid relative paths
  • (socket-to-me-one-more-time) Fix paths
  • Use socket if available
  • Display errors
  • Put the db dump in the archive first – fixes issue with large archive
  • Dont wait for response
  • Run schedule as a Backdrop task
  • Pass array directly to function
  • (issue-759) Fix require paths
  • check PHP version before anything else
  • Move plugin class to own file
  • Skip mysql bug error
  • Delete all BWP options
  • Start the process
  • Return and check WP_Error
  • (what-time-is-backup) Extract hours and minutes from the date as an array for display
  • Change plugin description if multisite
  • Use wp_get_sites
  • Add a comment
  • We check for this on plugin instantiation
  • Revert to clearing schedule and rescheduling
  • Delete schedules and leftover options from subsites
  • Ensure plugin only runs on main site
  • Fix Too Many Schedules
  • Use Symfony Process
  • (fix-incorrect-type-error) File is an SPL object so get path
  • Set root as default param
  • Delete backdrop transient
  • Force directory sizes recalculation
  • Define VCS abbr
  • Hide exclude patterns from Excludes list.
  • Check if user can connect
  • Test that the mysqldump command works
  • Add a couple of mysql versions
  • Automatically exclude VCS folders
  • Calculate Root size correctly
  • Get default rules from backup object
  • Do not auto ignore dot files
  • Count excluded
  • Do not count excluded
  • If its the root then return its size directly
  • Fix typo in transient names
  • Set and return class property instead
  • List default excludes as such
  • Require symfony finder
  • Clear transients on deactivate
  • Get list of files with Finder
  • Load composer packages
  • These are alredy filtered
  • Add some default excludes
  • Use absolute path for excludes added via UI
  • Fix tests
  • Fix conditional
  • Fix syntax error in travis YML
  • Run codesniffer only on pull requests
  • Update tested WP versions
  • Change min WP version required to match travis CI
  • Fix readme changelog placement
  • Add condtion for Cron and Ajax
  • Fix deactivate logic
  • Fixes recursive exclusion of files

3.1.4 / 2015-02-24

  • (upgrade-options) Bump version
  • strtolower is redundant
  • Upgrade routine – renames service settings to avoid backslashes.
  • Use the Service name as the setting name
  • Clear settings for schedule settings
  • Fixes bug in displaying settings error notices
  • Update version number
  • Merge pull request #726 from humanmade/fix-fatal-error-missing-class-addons
  • Leave bare minimum to avoid fatal error
  • remove old main plugin class

3.1.3 / 2015-02-04

  • Keep deprecated classes in a deprecated.php file to avoid Fatal Error in addons during upgrade.

3.1.2 / 2015-02-03

  • (simplify-bwp-file-timestamp) Simplify the file name timestamp
  • Fix class file name
  • (fixup-setup-class) Add missing transients to uninstall routine
  • switch Travis notifications to Slack instead of Hipchat
  • Do not delete backups on uninstall
  • wrap in parenthesis
  • Fix include paths after moving uninstall to own file herpderp
  • Update BackUp class include
  • Add all cases to switch
  • Pass scanned files sizes through conform_dir()
  • Fix some classes and requires
  • (origin/issue-684, issue-684) Fix namespaces
  • Remove unnecessary wildcard from regex
  • (crazy-refactor) Remove some duplication
  • Formatting
  • Fix Class name
  • Blank line
  • Uses a DirectoryIterator to delete files
  • Remove tests for now
  • Fix stable tag number
  • Revert to using uninstall.php
  • Add tests for uninstall and deactivate
  • Remove double lie break
  • Remove double line break
  • Remove phpdocumentor
  • We still need to require some scripts…
  • We dont need to check for this constant in the hook callback
  • Use get_col to directly have an array of schedule option names
  • Remove namespacing
  • Remove debugging
  • Make the uninstall, activation and deactivation hooks work
  • (change-singleton-implementation) Change the singleton implementation to not use the static() function
  • path argument interfers with wp-cli path argument.
  • Fix some scrutinizer issues, mostly major ones
  • Consistent default name for database dumps
  • Major 5.3 re-factoring fun
  • Minor code formatting
  • else if should be elseif
  • Update the WP_CLI command to fix some issues
  • Add support for copying and updating an existing backups

3.1.0 / 2015-01-13

  • Correct $response1 variable
  • (origin/issue-652, issue-652) Suppress warnings from filesystem functions
  • Remove debugging function
  • (origin/issue-475, issue-475) Fix a French string
  • Format the intercom data better
  • Load Intercom in the admin footer
  • Fix some HTML issues
  • Add a function that returns a given option value
  • Return Unknown if no average exists or invalid
  • Add a start parameter to function
  • Pass in the start time as a parameter
  • Make strings translatable
  • Escape values
  • Adds a function to track backup duration and another to display it
  • Adds Average Backup Duration Info
  • Improve display of arrays
  • Fixes open_basedir warnings
  • Replace spaces with tabs for indentation
  • (wp-cron-test-improvements) Improve the reliability of the wp-cron test
  • Pop in the directory sizes
  • Adapt heartbeat pulse
  • Update Javascript
  • Update constant name
  • Load the default translations so that activation error message is in user language
  • Fix a few translatable strings
  • Update French translations
  • Re-uglify Intercom js
  • Use provided callback argument to determine current screen
  • remove deprecated code
  • Only show notices on BWP admin page
  • Fix class name
  • Make function public for now
  • Get an instance of BWP to load functions
  • Fix conditional
  • Show admin notice if fails to meet requirements
  • Remove unneeded function
  • Fix references
  • Refactor main class after addition of the Setup class
  • Introduce a setup class
  • Determine if we need to run a cleanup routine
  • Introduce a custom hook for addons
  • Refactor main plugin file into a singleton class
  • Bring activation and deactivation into main plugin class
  • css changes to fix support button alignment
  • Fixes issue preventing backups from running without JS
  • Remove back compat memory limit define
  • Refactor HMBKP_Notices to support non-persistant notices
  • Minor refactor for PHP minimum requirements notice
  • Clear previous backup notices when running a new backup
  • Fix issues with custom paths
  • Improved singleton pattern
  • Display errors in network admin
  • Change to text input so multiple email address are supported
  • Removes HTML tag from string
  • Account for new schedule
  • Make upsell sentence translatable
  • fix return type
  • Return true if transient exists
  • Check if constant is defined
  • Request the site size via heartbeat send
  • Pass site size through heartbeat
  • Only calculate if necessary

3.0.4 / 2014-12-10

  • Simplify the backup count display
  • Enqueue scripts properly
  • Change how we check directory_sizes
  • Add BackUpWordPress test case class
  • Move class to separate file
  • Group help tab display functions
  • Update POT file
  • Make strings ready for translation

3.0.3 / 2014-12-06

  • Add French translations
  • Update textdomain
  • Fix deleted function
  • Use HM_Backup function to determine if shell_exec is enabled
  • Check if file is readable first
  • Fix how we kick off Task
  • Remove unused var
  • Call recursive filescanner on admin page load
  • Update package.json
  • Update the POT file task params
  • Replace hmbkp with backupwordpress as textdomain
  • Exclude folders
  • Add Grunt task options
  • Remove hard line returns
  • Display placeholder if exec fails
  • Add 30 second time diff allowance
  • Use $TRAVIS_BUILD_DIR
  • we do this in travis.yml
  • Regenerate github account info
  • Update command to reflect function rename
  • Update tests to reflect function name change
  • Rename function
  • Filter tests to run
  • Fix group flags
  • Calculate site size on page load

3.0.2 / 2014-12-02

  • Bump version
  • Add parenthesis to require_once
  • Remove disk space info
  • Attempt to fix build
  • define WP_TESTS_DIR
  • Make sure current_action fnction is loaded
  • Remove extra slashes and semicolons
  • Remove the custom webhook service
  • Better default WP_TESTS_DIR
  • move trailingslash calls out of the loop for performance
  • Minor code cleanup
  • Correct path for hm-backup so it’s tests are run
  • add composer.lock
  • Use scrutinizer code coverage
  • add waffle.io badge
  • Use up to date commands for coverage
  • Add code rating
  • Don’t test 5.2
  • Update readme.md
  • excluded_dirs is deprecated
  • Update scrutinizer config
  • Add composer config and dev dependencies
  • Make PHPUnit generate an XML for coveralls
  • Add scrutinizer config
  • Ignore vendor dir
  • Add a link to Help page
  • Move to activation hook
  • Bump up required WP version
  • Escape all the things
  • Save errors to a notices option
  • Reload page on errors
  • Remove script
  • Remove unneeded class
  • Check PHP version on plugins loaded
  • Check PHP version on activate
  • Update readme
  • Set required version to 5.3.2
  • Update tests
  • Allow for a 30 second delta in asserting schedule time
  • Use the new build env on Travis
  • Restrict plugin to be network only
  • Fix admin URL logic
  • Formatting
  • Update readme changelog

3.0.1 / 2014-11-20

  • remove uneeded images
  • latest hm-backup / fixes a serious bug in backups.
  • Typos in v 3.0 changelog
  • Specify POT filename in grunt task
  • Update POT file
  • Markdown readme
  • Regenerate readme
  • Add plugin headers

3.0 / 2014-11-14

  • Refactor the recursive filesize scanner
  • correct text domain
  • Remove unneede statements
  • reload the excludes filelist in the correct place when someone excludes a file
  • Latest backdrop
  • Regenerate minified CSS
  • Regenerate minified JS
  • Fix cancel backup action
  • WordPress Coding Standards
  • Exit early if incompatible version of WordPress
  • Update translations
  • Update changelog

3.0.0-beta / 2014-09-08

  • Load minified CSS
  • Formatting
  • Biweekly wording
  • Add missing period
  • use nonce_url instead of manually adding the nonce query param
  • close the settings form when done
  • Design changes as per ticket
  • Start tracking langauge in server info
  • Right align the primary button in the enable support modal
  • Re-factor the directory filesize code to use a single array instead of thoussands of transients
  • Remove the warning that would show if you were using anything other than the latest stable, it’s no longer needed now that the FAQ is local
  • switch to using a single transient to store directory filesize data
  • Add an anchor link
  • Add error message
  • Rename function
  • Prefix GET params
  • Update exclude rule action
  • Adds function for building admin action urls
  • fix vertical scroll
  • Adds some functions to manage settings form submission errors
  • Rename nonce and action
  • fetch errors to display
  • Form submission handling for BWP and add-ons settings
  • Use a new function that persists form submission errors to a transient
  • None check
  • Pass the nonce around in the ajax request
  • Enable support action links
  • Check nonces
  • Modify action URLs to use the admin_post hook
  • Remove unneeded code
  • New line at end
  • Use admin_post hook
  • Display schedule start time in local timezone
  • Add an action hook that gives access to consumers to the backup progress
    • Update translatable strings POT file
    • Bump version
    • Update min WP version and tested up to
    • accidently used dash instead of underscore
    • namespaced option and added option to uninstall.php
    • basic show/hide of premium upsell
    • Fix incorrect transient expiry
    • Show the spinner in the tab if a schedule other than the current is running
    • Snip snip
    • Bring back the some javascript enhancements
    • Switch to the PHP 5.2 compatible version of Backdrop
    • Finish up support
    • Brace up single line if’s and foreach’s
    • Only load minified scripts and styles if WP_DEBUG isn’t on
    • Load the minified css and js files by default
    • Remove the combined css files as we only have one now. Stop loading colorbox.
    • Remove colorbox
    • Improvements
    • More improvements
    • Don’t die when directly running a backup on page load
    • Re-factor the backup filesize calculation
    • make capability filterable
    • use core capabilities instead of custom
    • Switch to Backdrop
    • Fix typo in prefix
    • Hook function onto admin_post
    • Update delete link
    • Bookmark current admin page for redirect
    • Add custom capabilities and role
    • Exclude BackUpWP by default
    • Ignore the build folder
    • Add more build excludes
    • minify JS
    • generate markdown readme
    • minify css
    • combine css
    • regenerate readme
    • Make links consistent for the grunt task
    • Convert URLS to markdown
    • Update lang files
    • Add colorbox as bower dependency
    • remove colorbox folder
    • Remove colorbox submodule
    • Change how we include FAQ
    • Add readme partials
    • Add package.json
    • Add Gruntfile
    • Add bower.json
    • JSHint rules
    • remove from ignore
    • Update ignore list
    • Add bower config
    • Add FAQ strings
    • Return the cached directory size early if we have it
    • Re-factor the file browser scanner
    • correct sprintf usage
    • Handle saving service forms
    • Codeing standards
    • Move the error check outside of the foreach
    • Remove uneeded $is_tab_visible
    • Only show excludes for backups which include files
    • Show destinations in the list of schedule links
    • WordPress standard modal for enabling support
    • Remove extra slash in include path
    • Add a heading to the settings form
    • More work on excludes
    • Another todo
    • Add some todos
    • Don’t include the parent directory in a browsable list
    • More work on Excludes
    • Switch to only storing 3 backups by default
    • More work on redesign
    • commented out enable support button till we figure out what to do with it
    • made tabs responsive below 639px
    • More work on redesign
    • Add more default excludes
    • Correctly highlight the tab for the first schedule
    • Switch to tabs instead of subsubsub
    • First bash at a redesign settings UX

2.6.2

  • Reverts a change to how the home path is calculated as it caused issues on installs where wp-config.php was stored outside of web root. Props to @mikelittle for the bug report.

2.6.1

  • Bump minimum WP requirement to 3.7.3, the latest security release on the 3.7 branch.
  • Fix an issues that could cause schedule times to fail to account for timezone differences.
  • Add a nonce check to the schedule settings.
  • Fix a possible JS warning when removing an exclude rule.
  • Our unit tests now run in PHP 5.2 again.

2.6

  • It’s now possible to choose the time and day that your schedule will run on.
  • Introduces several new unit tests around schedule timings.
  • Fixes a bug that could cause the hourly schedule to run constantly.
  • Improved the layout of the Constants help panel.
  • If the backup root directory is unreadable then the plugin will no longer function.
  • Update the backups table match the standard WordPress table styles.
  • Improved styling for the settings dialogue.
  • Improved styling for the Server Info help tab.
  • /s/back ups/backups.
  • Remove Deprecated call to screen_icon.
  • Updated French translation.
  • Update the WP CLI command to use the new method for registering command.
  • Reload the schedules when re-setting up the default schedules so they show up straight away.
  • s/dpesnt’t/doesn’t.
  • Only show the estimated total schedule size when editing an existing schedule.
  • Stop stripping 0 from the minutes on hourly backups so that backups at 10 (& 20, etc.) past the hour correctly show.
  • Disable buttons whilst ajax requests are running.
  • Move spinners outside the buttons as they didn’t look very good inside.
  • Improve the detection of the home path on multisite installs which have WordPress in a subdirectory.
  • Track the time that the running backup is started and display how long a backup has been running for.
  • Fix an issue that meant it wasn’t possible to run multiple manual backups at the same time.
  • Many other minor improvements.

2.5

  • BackUpWordPress now requires WordPress 3.7.1 as a minimum.
  • Remove some old back-compat code that was required because we supported older WP versions.
  • It’s now possible to change the email address that notification emails are sent from using the hmbkp_from_email filter.
  • The spinner is now retina!
  • Close the PHP Session before starting the backup process to work around the 1 request per session issue. Backup status will now work on sites which happen to call session_start.
  • Pass max_execution_time and the BackUpWordPress Plugin version back to support. * Include the users real name in support requests
  • Stop passing $_SERVER with support requests as it can contain things like .htaccess passwords on some server configurations.
  • Improve the display of the server info in the enable support popup.
  • New screenshots
  • Use wp_safe_redirect for internal redirects.
  • Use wp_is_writable instead of is_writable.

2.4.2

  • In WordPress Multisite the backups admin page is now located in Network admin instead of the wp-admin of the main site.
  • Fixed an issue with the new intercom support integration that could cause loading the backups page to timeout
  • Fixed 3 stray PHP warnings.
  • BackUpWordPress will now always be loaded before any BackUpWordPress Extensions.
  • Fixed an issue that could cause a long modal (excludes) to show underneath the WP admin bar.

2.4.1

  • Add missing colorbox images

2.4

  • Support for new premium extensions for storing backups in a variety of online services.
  • Exclude the WP DB Manager backups and WP Super Cache cache directories by default.
  • We now use Intercom to offer support directly from within the plugin, opt-in of course.
  • More i18n fixes / improvements.
  • We no longer show download links if your backups directory isn’t web accessible.
  • Fix a bug that caused the plugin activation and deactivation hooks from firing.
  • Correctly handle MYSQL TIMESTAMP columns in database dumps.
  • mysqldump and zip are now correctly recognised on SmartOS.
  • Schedule names are now translatable.
  • Avoid having to re-calculate the filesize when a schedules type is set.
  • Compatibility with WordPress 3.8

2.3.2

  • Correct version number.

2.3.1

  • Fix a PHP strict error.
  • Save and close as separate buttons.
  • Fix bug that caused multiple notification emails.
  • Fixes typo in database option name.
  • Updated translations.
  • Improve PHP docblocks.
  • Make schedules class a singleton.
  • Exclude popular backup plugin folders by default.
  • Exclude version control folders by default.
  • Fix broken localisation.
  • Use wp_safe_redirect instead of wp_redirect for internal form submissions

2.3

  • Replace Fancybox with Colorbox as Fancybox 2 isn’t GPL compatible.
  • Use the correct HMBKP_ATTACHMENT_MAX_FILESIZE constant consistently in the help section.
  • Correct filename for some mis-named translation files.
  • Show the total estimated disk space a schedule could take up (max backups * estimated site size).
  • Fix a typo (your -> you’re).
  • Use the new time Constants and define backwords compatible ones for > than 3.5.
  • Play nice with custom cron intervals.
  • Main plugin file is now backupwordpress.php for consistency.
  • Add Paul De Wouters (pauldewouters) as a contributor, welcome Paul!
  • Don’t remove non-backup files from custom backup paths.
  • Fix a regression where setting a custom path which didn’t exist could cause you to lose existing backups.
  • When moving paths only move backup files.
  • Make some untranslatable strings translatable.
  • Don’t allow a single schedule to run in multiple threads at once, should finally fix edge case issues where some load balancer / proxies were causing multiple backups per run.
  • Only highlight the HMBKP_SCHEDULE_TIME constant in help if it’s not the default value.
  • Remove help text for deprecated HMBKP_EMAIL.
  • Default to allways specificing --single-transaction when using mysqldump to backup the database, can be disabled by setting the HMBKP_MYSQLDUMP_SINGLE_TRANSACTION to false.
  • Silence a PHP Warning if mysql_pconnect has been disabled.
  • Ensure dot directories . & .. are always skipped when looping the filesystem.
  • Work around a warning in the latest version of MySQL when using the -p flag with mysqldunmp.
  • Fix issues on IIS that could cause the root directory to be incorrectly calculated.
  • Fix an issue on IIS that could cause the download backup url to be incorrect.
  • Fix an issue on IIS that could mean your existing backups are lost when moving backup directory.
  • Avoid a PHP FATAL ERROR if the mysql_set_charset doesn’t exist.
  • All unit tests now pass under IIS on Windows.
  • Prefix the backup directory with backupwordpress- so that it’s easier to identify.
  • Re-calculate the backup directory name on plugin update and move backups.
  • Fix some issues with how HMBKP_SECURE_KEY was generated.

2.2.4

  • Fix a fatal error on PHP 5.2, sorry! (again.)

2.2.3

  • Fix a parse error, sorry!

2.2.2

  • Fix a fatal error when uninstalling.
  • Updated translations for Brazilian, French, Danish, Spanish, Czech, Slovakian, Polish, Italian, German, Latvian, Hebrew, Chinese & Dutch.
  • Fix a possible notice when using the plugin on a server without internet access.
  • Don’t show the wp-cron error message when WP_USE_ALTERNATE_CRON is defined as true.
  • Ability to override the max attachment size for email notifications using the new HMBKP_ATTACHMENT_MAX_FILESIZE constant.
  • Nonce some ajax request.
  • Silence warnings created if is_executable, escapeshellcmd or escapeshellarg are disabled.
  • Handle situations where the mysql port is set to something wierd.
  • Fallback to mysql_connect on system that disable mysql_pconnect.
  • You can now force the --single-transaction param when using mysqldump by defining HMBKP_MYSQLDUMP_SINGLE_TRANSACTION.
  • Unit tests for HM_Backup::is_safe_mode_available().
  • Silence possible PHP Warnings when unlinking files.

2.2.1

  • Stop storing a list of unreadable files in the backup warnings as it’s too memory intensive.
  • Revert the custom RecursiveDirectoryIterator as it caused an infinite loop on some servers.
  • Show all errors and warnings in the popup shown when a manual backup completes.
  • Write the .backup_error …