Skip to content

Backing up and restoring a site

CloudPress backs up every site automatically on a schedule, but you can also take your own backup at any time — for example, right before you update a plugin or theme. This guide shows how to take an on-demand backup, restore a site from any backup, and download a backup archive to your computer, all from the dashboard.

Each site is made up of one or more volumes (for example, your WordPress files and your database), and backups are managed per volume. You'll see a card for each volume on the Backups page.

Automatic vs. manual backups

Scheduled backups run on their own and are marked with a calendar icon (Automatic scheduled backup). Backups you take yourself are marked with a person icon (Manual on-demand backup). Both appear in the same list and can be restored or downloaded the same way. For how scheduling and retention work, see Backups.

Before you start

  • Permission to edit the site — view-only access can't take, restore, or download backups.
  • Deleting a backup needs delete permission on the site. A member who can edit but not delete is returned to the site's overview with Not authorized. This is a different permission from the one that covers deleting the site itself, which needs billing-management rights — a member may well have one and not the other.
  • Taking, restoring, deleting, and downloading a backup are all protected actions: you'll be asked to confirm your identity with your passkey or password, if you haven't recently.
  • Backups aren't available on trial accounts. If your account is still on a trial, you'll be prompted to finish setting up your account first.

Find the Backups page

  1. In the left sidebar, open My Sites and select the site you want to back up.

  2. In the site's left sidebar, open the My Site dropdown and choose Backups.

  3. You'll land on the Backup & Volume Management page. Each volume shows a card with its Current Data Usage, Backup Count, Backup Usage, and Backup Schedule, followed by a list of that volume's backups. A ribbon on the card reads Enabled or Disabled depending on whether automatic backups are switched on for that volume, and the backup list only appears once the volume has at least one backup.

Take an on-demand backup

  1. On the volume's card, click Take Backup.

  2. In the New Backup for {volume} dialog (for example, New Backup for WordPress Data), optionally type a label in the Name this backup field so you can recognize it later (for example, before plugin update). Leaving it blank is fine — the backup is then listed simply as Backup.

  3. Click Take Backup to start.

The backup runs in the background. You'll see an Operation In Progress message, and the new backup appears in the volume's backup list once it finishes. It's marked with the person icon (Manual on-demand backup) and shows the name you gave it.

Creating a backup is asynchronous and returns 202:

curl -X PATCH \
  -H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
  -H "X-Auth-Account: $ACCOUNT_ID" \
  -d "name=before plugin update" \
  https://my.cloudpress.com/api/sites/$SITE_ID/backups/$VOLUME_ID

Get the volume IDs from GET /api/sites/$SITE_ID/backups, then poll the site's tasks until the job completes. See Sites API for the full request and response shapes.

Restore a site from a backup

Restoring replaces the current contents of a volume with the contents of the backup you choose.

Restoring overwrites your current data

When you restore, all existing data in that volume is overwritten with the backup. Anything created or changed since that backup was taken will be lost. If you're unsure, take a fresh backup first so you can return to the current state.

  1. On the Backups page, find the backup you want in the volume's list.

  2. Click the (more actions) menu at the end of that backup's row, then choose Restore.

  3. Read the confirmation dialog — it names the backup and its date and warns that the volume will be overwritten — then click Restore to confirm.

The restore runs in the background and shows an Operation In Progress message. Your site will reflect the restored data once it finishes.

Restoring is asynchronous and returns 202:

curl -X PATCH \
  -H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
  -H "X-Auth-Account: $ACCOUNT_ID" \
  -d "backup_id=$BACKUP_ID" \
  https://my.cloudpress.com/api/sites/$SITE_ID/restores/$VOLUME_ID

Then poll the site's tasks until the restore completes. See Sites API.

Download a backup archive

You can download a copy of any backup to keep off-platform. CloudPress prepares the archive in the background and gives you a temporary, time-limited download link.

  1. On the Backups page, find the backup you want and click Request download in its row. If a download you prepared earlier for that backup has since expired, the button reads Request again instead.

  2. The button changes to Preparing… while CloudPress builds the archive. Only one download per volume is prepared at a time, so the button on that volume's other backups is disabled until this one finishes ("Another download is being prepared for this volume.").

  3. When the archive is ready, CloudPress emails whoever requested the download, and the row shows a Download link with the file size next to it. Hover the link to see when it expires. The link is temporary; once it lapses the row goes back to Request again, which prepares a fresh one.

The email's Download backup button brings you back into CloudPress rather than straight to the file, so you'll need to be signed in to use it.

Tip

If preparing seems to stall, a Still preparing — refresh option appears after a short wait so you can reload the page and check again. If preparation fails, the row shows Download failed with a Try again button, and CloudPress emails the requester with the reason.

Preparing an export is asynchronous. Request it with POST, which returns 202:

curl -X POST \
  -H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
  -H "X-Auth-Account: $ACCOUNT_ID" \
  -d "backup_id=$BACKUP_ID" \
  https://my.cloudpress.com/api/sites/$SITE_ID/backups/$VOLUME_ID/export

A 202 doesn't guarantee that a new export started — exports are prepared one at a time per volume, and a request made while one is already in flight is dropped. Poll the status endpoint until the export is ready:

curl \
  -H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
  -H "X-Auth-Account: $ACCOUNT_ID" \
  "https://my.cloudpress.com/api/sites/$SITE_ID/backups/$VOLUME_ID/export?backup_id=$BACKUP_ID"

The response includes a status (none, in_progress, ready, expired, or failed). When the status is ready, the body also includes a short-lived presigned download url, an expires_at timestamp, and the archive size in bytes. Both endpoints require the sites:write scope. See Sites API for the full request and response shapes.

Delete a backup

  1. On the Backups page, open the (more actions) menu for the backup you want to remove, then choose Delete.

  2. Confirm in the dialog by clicking Delete Backup. The backup is removed in the background.

Warning

Deleting a backup is permanent — once it's gone, you can't restore or download from it.

Next steps

  • Learn how scheduling and retention work in Backups
  • Take a manual backup before any major plugin, theme, or core update
  • Keep an off-platform copy of important backups by downloading the archive