Skip to main content
Once you have backups of your environment, you can restore data from a previous point. To restore an environment, you need an Admin role for that environment type.

1. List available backups

To restore an environment, first select one of the available backups:
Run the following command:
upsun backups
You get a response similar to the following:
Backups on the project My Project (1234567abcdef), environment main (type: production):
+---------------------------+----------------------------+------------+
| Created                   | Backup ID                  | Restorable |
+---------------------------+----------------------------+------------+
| 2026-08-15T09:48:58+01:00 | 5ouvtgo4v75axijww7sqnftste | true       |
| 2026-07-09T14:17:17+01:00 | 7jks7dru5xpx5p5id5wtypur2y | true       |
| 2026-06-22T18:33:29+01:00 | f3jbyxlhtmalco67fmfoxs7n4m | true       |
+---------------------------+----------------------------+------------+
Select one of the backups marked as Restorable and copy its Backup ID.

2. Restore from a backup

To restore the backup you’ve selected, follow these steps:
  1. Run the following command:
    upsun backup:restore <VariableBlock name="BACKUP_ID" />
    
  2. Press enter to agree with the consequences and continue.
The data is restored and your backed-up environment is deployed. This deployment uses the built app, including variables, from when the backup was taken.

Warning

The code is also initially restored, but Upsun doesn’t modify your Git repository. So any future (re)deployments use the current Git repository to build the environment.
To restore your code to its previous state when the backup was taken, use Git commands such as revert.Note that you can also opt out of restoring the code entirely by using the --no-code flag. For more information, see how backup and restore works on Upsun.Also, see how resource allocation works when you restore a backup.

Restore to a different environment

You can restore backups to a different environment than they were created on using the CLI:
  1. Switch to the branch where the backup was created.
  2. To restore your backup to an existing environment, run the following command:
    upsun backup:restore --target=<VariableBlock name="TARGET_ENVIRONMENT_NAME" /> <VariableBlock name="BACKUP_ID" />
    
    If your target environment doesn’t exist yet, you can create it by branching an existing environment. The new target environment will be an exact copy of the existing (parent) environment. To do so, use the --branch-from option to specify the parent of your new target environment:
    upsun backup:restore --target=<VariableBlock name="TARGET_ENVIRONMENT_NAME" /> --branch-from=<VariableBlock name="PARENT_ENVIRONMENT_NAME" /> <VariableBlock name="BACKUP_ID" />
    
Last modified on March 11, 2026