| 开发者 | andrewjbaker |
|---|---|
| 更新时间 | 2026年6月2日 22:42 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
/wp-content/uploads/)/wp-content/plugins/)/wp-content/themes/).zip file with a descriptive filename that reflects exactly what it contains.
Key features
.zip or .sql file.htaccess deny-all$wpdb. Never loads the full database into memory. Works on any WordPress host.INSERT statements. Handles files of any size.backup_full_2026-02-21_03-00-00.zip: all four componentsbackup_db_2026-02-21_14-35-00.zip: database onlybackup_db-media-plugins_2026-02-21_09-10-00.zip: three componentsbackup_plugins-themes_2026-02-21_22-00-00.zip: files only, no database.maintenance file is created so visitors see the standard maintenance page. It is always removed when restore finishes, whether the restore succeeded or failed. The plugin header shows a live badge indicating whether the site is online or in maintenance mode.
Backup zip contents
Each zip includes a backup-meta.json with metadata: plugin version, creation timestamp, WordPress version, site URL, table prefix, and which components were included. This makes it easy to verify a backup without restoring it.
cloudscale-backup.zipcloudscale-backup.zipcloudscale-backup folder to /wp-content/plugins/In a dedicated cloudscale-backups/ folder inside your WordPress uploads directory. This folder is created automatically on activation and protected with an .htaccess deny-all rule. Download backups using the Download button in the admin panel, which uses a nonce-secured handler.
No. The plugin sets set_time_limit(0) and ignore_user_abort(true) for all backup and restore operations. The PHP streaming implementation reads data in small chunks so memory usage stays flat regardless of database size. Check the System Info card for details about your server's configuration.
PHP 8.1 or higher. The plugin uses typed parameters, match expressions, str_contains(), and first-class callable syntax introduced in PHP 8.0/8.1.
Yes. The ZipArchive extension is needed to create and read backup zip files. It is bundled with PHP on the vast majority of shared hosting environments. If it is missing, contact your host and ask them to enable the zip PHP extension.
The plugin registers a custom WordPress cron interval based on the number of days you configure. For reliable scheduling, your server should have a real system cron job pointing at wp-cron.php rather than relying on WordPress's visitor-triggered pseudo-cron. Most managed WordPress hosts configure this automatically. Your server's current time and timezone are shown on the settings page so you can pick the right hour.
Yes. The restore function extracts database.sql from the backup zip and imports it. Media, plugin, and theme files inside the zip are not automatically restored. You can unzip the backup manually and extract only the folders you need. This prevents accidentally overwriting files you have added since the backup.
Yes. The restore imports the SQL as-is. If the database contains hardcoded URLs from the old domain, run a search-replace using WP-CLI after restoring:
wp search-replace 'olddomain.com' 'newdomain.com' --path=/path/to/wordpress
The plugin removes maintenance mode even when a restore fails, so your site will be accessible. Check the plugin page to confirm the maintenance badge is gone. Errors are logged to your server's PHP error log. If the database is in a partial state, restore from a server snapshot or use phpMyAdmin or Adminer to assess the database directly.
Yes. Use WP-CLI to trigger a backup from the command line:
wp eval 'csbr_create_backup(true, true, true, true); csbr_enforce_retention();' --path=/path/to/wordpress
Adjust the four boolean arguments ($include_db, $include_media, $include_plugins, $include_themes) as needed.
Each zip may contain:
database.sql: complete SQL dump of all WordPress tablesuploads/: full media uploads directory treeplugins/: full plugins directory treethemes/: full themes directory treebackup-meta.json: metadata including plugin version, creation timestamp, WordPress version, site URL, table prefix, and which components were backed upYes. Run a full backup on the old site, install WordPress on the new host, install and activate this plugin, then use Restore from Upload to import the database. Copy the uploads/, plugins/, and themes/ folders manually from the zip if needed, or use the backup of those folders.
wp_ajax_csbr_do_sync_job_* handlers that called undefined function csbr_do_async_sync(), legacy loopback architecture replaced by register_shutdown_function() in v3.2.257csbr_set_job(), csbr_get_job(), csbr_delete_job(), csbr_find_rclone(), csbr_find_aws(), csbr_list_tables_in_dump(), csbr_list_backups()csbr_verify_nonce() helper (all handlers use check_ajax_referer() directly)cs_admin_page() now independently checks current_user_can('manage_options')wp_unslash() added to $_POST['cs_action'] and $_POST['schedule_enabled']; phpcs:ignore annotations addeddata-free-bytes attribute annotated with phpcs:ignore EscapeOutput.OutputNotEscapeduninstall.php: Dropbox options now cleaned up on plugin delete