Upsun User Documentation

Back up an environment

Upsun Beta access

Test and provide feedback for our newest offering - Upsun!

You can register for the Beta by clicking here and completing the form.

Sign up for Beta access

When you’re making changes to your apps, you want to be sure those changes only improve things and don’t make you lose any data. You also want to have a disaster recovery plan in place. Backups help you protect yourself against potential data loss.

You might want to create backups of your live environment before merging a different environment into it or each time you increase the storage space of your services.

You also have regularly scheduled automated backups of your production environments to cover most cases.

Note that you can only create backups and restore active environments. To work with an inactive environment, first activate it.

How backup and restore works Anchor to this heading

  1. As an admin user, you can do a backup of your environment. This backup includes the complete data and code of the environment. All persistent data from all running services and any files stored on mounts are included. The backup is stored internally on Upsun. That is, the backup can be applied to environments on Upsun, but it can’t be downloaded. If you need to download backups, instead export your mount and service data).

  2. You restore your environment using the backup. At this point, the data and code from the backup are restored to ensure a consistent state. The latest code in your repository may have been modified such that it no longer works correctly with the old, restored data.

  3. Depending on your needs, you can do the following:

    a) To use the code from the time of the backup as a baseline for future changes, make sure you restore it yourself in your Git repository. To do so, use Git commands such as revert.

    b) To use your latest code instead, just redeploy your environment or push a new change.

Backups and downtime Anchor to this heading

By default, creating a manual backup causes a momentary pause in site availability so that all requests can complete. This means the environment is backed up in a known consistent state. The total interruption is usually only 15 to 30 seconds. Any requests during that time are held temporarily, not dropped.

To avoid this downtime, use live backups.

For consistent backups, create the backups during non-peak hours for your site.

Retention Anchor to this heading

For information on how long backups are retained, see the data retention policy.

Use automated backups Anchor to this heading

Upsun provides 1 automated backup a day for your production environment, with a 2-day retention (2 days worth of backups are retained at any given point).

For more information on the backups Upsun provides, see the Upsun backup policy.

Automated backups are always live.

Live backups Anchor to this heading

You can create backups without any downtime. This means your environment is running and open to connections during the backup.

Because the connections may come in during backup creation, live backups may have data inconsistencies among containers. They may make restorations less reliable. To avoid such issues, schedule manual backups during non-peak hours, when the short amount of downtime is least noticed.

You can create a manual live backup on a Grid project:

Use the --live flag:

upsun backup:create --live
When creating the backup, select Run live backup in the last step.

Create a manual backup Anchor to this heading

Upsun provides up to 2 manual backups of your production environment, plus 2 manual backups you can use for your preview environments. For more information, see the Upsun backup policy.

You can create a manual backup using the CLI or in the Console.

upsun backup:create
  1. Navigate to the environment you want to back up.
  2. Click Backups.
  3. Click Backup.
  4. Click Backup.

Automate manual backups Anchor to this heading

You can also automate the process of creating manual backups through cron jobs. The cron job uses the CLI command to back up the environment. It requires you to set up the CLI on the environment with an API token.

Although this process is automated, backups created in this way count as manual for the backup schedule. They don’t affect the automated backups taken as part of the schedule.

Physical storage location Anchor to this heading

Backups are stored as binary large objects separate from your environments. This storage is replicated over multiple data centers in different locations within the region your project is hosted in. This means that in the rare event a data center becomes unavailable, your backups are still available.

Is this page helpful?