Create a Linode using a backup

Here, we cover how to add a new Linode using a backup taken from an existing Linode on your account. Once the Linode is provisioned, it will contain the disks and configuration the target Linode had, when the backup was taken.

📘

A backup can only be restored to the same data center (region) where it was taken. If you need to store content for deployment across regions, you can create an image of a disk from your Linode instead.

Prerequisites

Enable Backups

You need the Akamai Cloud Backup service enabled for a Linode, to generate backups of it. Later, you can target one of these backups to create a new Linode.

📘

  • The Backups service incurs a separate charge, based on your Linode plan (type). See our pricing page for more details.

  • By default, your Linode is automatically backed up daily. A total of four (4) backups can be stored of a single Linode. Backups are kept for 14 days.

Method 1: Create a new Linode

You can enable the Backups service when creating a new Linode. You just need to set backups_enabled to true in the request.

Once it's created:

  • Store the id as your linodeId.
  • Store the region as your regionId
  • Store the type.

Method 2: Update an existing Linode

Here, we'll target an existing Linode and enable the Backups service for it.

  1. Run the List Linodes operation, locate the desired Linode, for example based on its label.

    📘

    If you know the label for your Linode, you can filter the results of this operation using the X-Filter header. Here's an example using cURL:

    curl --request GET
         --url https://api.linode.com/v4/linode/instances \
         --header 'X-Filter: { "label": "TW-use_Debian_13_Linux_VM" }'
    
  2. Review the response:

    • Store the id as your linodeId.
    • Store the region as your regionId.
    • Store the type.
    {
      "id": 12345678, <== Store.
      "label": "TW-use_Debian_13_Linux_VM",
      "group": "",
      "status": "running",
      "created": "2025-10-28T20:40:20",
      "updated": "2025-10-28T20:40:20",
      "type": "g6-dedicated-4", <== Store.
      "ipv4": [
        "123.456.789.10"
      ],
      "ipv6": "1a23:4b56::7890:1cde:f234/567",
      "image": "linode/debian13",
      "region": "us-lax", <== Store.
      ...
    }
    
  3. Run the Enable backups operation, using your stored linodeId. This enables the Backups service for your Linode.

Check Backups service availability

Once you've enabled the service on your Linode, you should check its availability. It can take

  1. Run the Get a Linode operation, using your stored linodeId.

  2. Review the backups object in the response, and ensure that "available": true". This indicates that the Backup service is enabled and ready to use for your Linode.

    "backups": {
     "available": true, 
     "enabled": true,
     "last_successful": "",
     "schedule": {
       "day": "Scheduling",
       "window": "Scheduling"
      }
    }
    

    📘

    The schedule object applies to an optional weekly schedule you can set up to create a priority backup. This backup takes precedence over the automatic daily backups, when it come to the 14 day life-cycle of a backup.

You can take a snapshot

With the Backups service enabled for your Linode, you can take a manual snapshot of it at any time to include it as a backup.

Run the Create a snapshot operation using your stored linodeId.

📘

A snapshot backup never expires, but you can only have one at a time. It counts toward the total of four backups you can have of a single Linode. Capturing a new one replaces any existing snapshot backup.

Review your Linode settings

Only the disks, configuration, and root password (root_pass) are restored from a backup. You should periodically run the Get a Linode operation to review any optional settings applied to it. This will help you reapply them when restoring the backup.

Restore a backup to a new Linode

Now, you can create a new Linode and apply a backup on it.

  1. Run the Get backups operation using the stored linodeId and review its backups.

  2. Store the id for the one you want to restore, as your backupId.

    {
      "automatic": [
        {
          "id": 123456789, <== Store.
          "region": "us-southeast",
          "type": "auto",
          "status": "successful",
          "available": true,
          "created": "2025-10-31T20:46:35",
          "updated": "2025-10-31T20:52:12",
          "finished": "2025-10-31T20:49:25",
          "label": null,
          "configs": [
            "My Ubuntu 24.04 LTS Disk Profile"
          ],
          "disks": [
            {
              "label": "Ubuntu 24.04 LTS Disk",
              "size": 81408,
              "filesystem": "ext4"
            },
            {
              "label": "512 MB Swap Image",
              "size": 512,
              "filesystem": "swap"
            }
          ]
        }
      ],
      "snapshot": {
        "current": {
          "id": 987654321,
          "region": "us-southeast",
          ...
      }
    }
    
  3. Run the Create a new Linode operation. Include these objects in the request:

    • backup_id. Set this to your stored backupId.
    • label. Set an easily recognizable name for the Linode. If you don't provide a value, the API will assign one. (The existing label is not reused from the backup.)
    • region. Set this to your stored regionId. A backup can only be restored on a Linode in the same region.
    • type. Set this to your stored type.
    {
      "backup_id": 123456789,
      "label": "New-carried-over-backup",
      "type": "g6-dedicated-4",
      "region": "us-lax"
    }
    

    📘

    • The disks, configuration, and root_pass are carried over from the backup. All other optional settings are reset or set to the default. Review the Body Params available for the Create a Linode operation and set them as necessary, to mirror the backed up Linode.

    • A Linode needs to use a type (plan) that is at least as large as the backed up Linode. See Plans for more information. Then, run the List types operation to get the id for the desired larger type.

  4. Store the id from the response as your new linodeId, to interact with it with other operations.