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
andmysqldump
for faster backups if they are available. - Works on Linux & Windows servers.
- 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, and 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
Installation
- Install BackUpWordPress either via the WordPress.org plugin directory, or by uploading the files to your server.
- Activate the plugin.
- 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 host’s database management tool (likelyphpMyAdmin
). -
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 a200
response when hit with an 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 filewp-cron.php
chmod
must be set to711
. -
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
Contributors and Developers
“BackUpWordPress” is open source software. The following people have contributed to this plugin.
Contributors“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.
Change Log
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 its contents
- Only call getPerms on readable files to ensure we avoid a fatal error
- Ensure error are correctly checked 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 5.2
- 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 is 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 coveropen_basedir
handling. - Show an error message if neither
mysqldump
norPDO: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 refactor 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 being twice as large as it should be
- Adds PHP mysqldump fallback lib (
ifsnop/mysqldump-php
)
3.3.2 / 2015-10-15
- Misc. improvements
3.3.1 / 2015-10-12
- Fixed a false positive error message.
- Fixed 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 sanitising
- 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 ‘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
- Don’t 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 sub-sites
- 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 it’s 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 already 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 condition for Cron and Ajax
- Fix deactivate logic
- Fix 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
- Fix 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 don’t 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 interferes with wp-cli path argument.
- Fix some scrutiniser 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 the activation error message is in the user’s 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 add-ons
- 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 addresses 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 function 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 its tests are run
- Add composer.lock
- Use scrutiniser 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 scrutiniser config
- Add composer config and dev dependencies
- Make PHPUnit generate an XML for coveralls
- Add scrutiniser 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 unneeded 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 unneeded 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 language 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 thousands 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
- accidentally 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 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 colourbox
- 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
- Coding standards
- Move the error check outside of the foreach
- Remove unneeded $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 to dos
- 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 until 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 the 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.
- Fixed 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 to 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.
- Fixed 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.
- Removed 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!
- Closed 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 ofis_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 the loading of 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
andzip
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.
- Fix typo in the 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 ofwp_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 backwards 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 always specifying
--single-transaction
when usingmysqldump
to backup the database. Can be disabled by setting theHMBKP_MYSQLDUMP_SINGLE_TRANSACTION
tofalse
. - Silence a
PHP Warning
ifmysql_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 withmysqldunmp
. - 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 themysql_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
orescapeshellarg
are disabled. - Handle situations where the mysql port is set to something weird.
- Fallback to
mysql_connect
on system that disablemysql_pconnect
. - You can now force the
--single-transaction
param when usingmysqldump
by definingHMBKP_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 …