Create and manage backups#

You can use the simple examples in the following sections for basic Cloud Backup requests that you will commonly use. You can get agent information, create backups, manage configurations, and work with restores by using Cloud Backup API operations. Example requests are provided in cURL, followed by the response.

Before running the examples, review the Cloud Backup concepts.

To start using the API and run the examples in this section, you need the following items:

Note

These examples use the $API_ENDPOINT, $AUTH_TOKEN, and $TENANT_ID environment variables to specify the API endpoint, authentication token, and project ID values for accessing the service. Make sure you configure these variables before running the code samples.

For more information about all Cloud Files operations, see the API reference.

Listing all agents for the user#

The agent is an important component of Cloud Backup. You must install the agent on all servers that you want to back up. Documentation about installing agents is available from the link on Rackspace Control Panel under the Backup tab or at Install the agent on Linux. After the agent is installed on one or many servers, you can use the Cloud Backup API to configure your backups.

Note

If your account has the Managed Operations level of support, the Cloud Backup agent might already be installed on your server. If your cloud servers are listed under the Systems tab in the Backup section of the Cloud Control Panel, then the Cloud Backup agent is already installed. If it is not, Rackspace can install it for you. Check with your account manager.

Assuming that you initially know nothing about the environment, in order to do anything with the backups, you need to list the agents. After you list them, you can choose the one you want to work with. MachineAgentId is what you need to work with the agent in other requests.

The HTTP request must include a header to specify the authentication token.

An HTTP status code of 200 (OK) indicates that the request succeeded.

Example: cURL list all agents for the user request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/user/agents \
-H "X-Auth-Token: $AUTH_TOKEN" | python -m json.tool

Example: List all agents for the user response

[
     {
         "AgentVersion": "1.10.006176",
         "Architecture": "64-bit",
         "BackupContainer": "https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/z_DO_NOT_DELETE_CloudBackup_v2_0_aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
         "BackupDatacenter": "DFW",
         "BackupVaultSize": null,
         "CleanupAllowed": true,
         "Datacenter": "DFW",
         "Flavor": "RaxCloudServer",
         "HostServerId": "79aa4aa1-cd86-4416-a6c4-6942b7083130",
         "IPAddress": "162.209.73.233",
         "IsDisabled": false,
         "IsEncrypted": false,
         "MachineAgentId": 202743,
         "MachineName": "web2",
         "OperatingSystem": "Windows Server 2008 R2",
         "OperatingSystemVersion": "6.1",
         "PublicKey": {
             "ExponentHex": 10001,
             "ModulusHex": "C6054E90E32D2B25E16F3A560E1B4DC580B1E4AB74E0C66268 0DD8A1BD83956051F6A526B16C55225D1BE6E0B1265F4085FB2F61B61337F5D32198E5CAFFEA CD50E90517A329146E43B20194C082A9C890060AD07A542FBC035B2A96F9F212C6D94887BECB 5E15F3E55397B975B1896CFC66EBB5DD7D83587467A0E7F669ADB925A7BE4C1ECED1BC9E92DB 768CE76FDC86CCDD04BDF469679FE3261AA66C22AC6263E540B79780AAF09CFC798CDC4D1218 867388632EA4BD1BF511E4881E07C5387DDDBE741E615ACA0C32A738F5B952F1C17051EC3BAF 9F64C629515EA2AF93E6BB450A8B1B3E02963471679D5670AF93CFEA649172EDA7AC5E071E2D 3AF0BD"
         },
         "Status": "Unknown",
         "TimeOfLastSuccessfulBackup": null,
         "UseFailoverUri": false,
         "UseServiceNet": true
     }
 ]

Listing agent details#

To check whether the agent is online, list the agent’s details and check its status. If the agent is not online, Cloud Backup cannot run the backup job. Use MachineAgentId from List all agents for the user for yourMachineAgentID.

The HTTP request must include a header to specify the authentication token.

An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL list agent details request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/agent/yourMachineAgentID  \
-H "X-Auth-Token: $AUTH_TOKEN" | python -m json.tool

Example: List agent details response

{
     "AgentVersion": "1.10.006176",
     "Architecture": "64-bit",
     "BackupContainer": "https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/z_DO_NOT_DELETE_CloudBackup_v2_0_aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
     "BackupDatacenter": "DFW",
     "BackupVaultSize": "35.3 KB",
     "CleanupAllowed": true,
     "Datacenter": "DFW",
     "Flavor": "RaxCloudServer",
     "HostServerId": "79aa4aa1-cd86-4416-a6c4-6942b7083130",
     "IPAddress": "162.209.73.233",
     "IsDisabled": false,
     "IsEncrypted": false,
     "MachineAgentId": 202743,
     "MachineName": "web2",
     "OperatingSystem": "Windows Server 2008 R2",
     "OperatingSystemVersion": "6.1",
     "PublicKey": {
         "ExponentHex": 10001,
         "ModulusHex": "C6054E90E32D2B25E16F3A560E1B4DC580B1E4AB74E0C66268 0DD8A1BD83956051F6A526B16C55225D1BE6E0B1265F4085FB2F61B61337F5D32198E5CAFFEA CD50E90517A329146E43B20194C082A9C890060AD07A542FBC035B2A96F9F212C6D94887BECB 5E15F3E55397B975B1896CFC66EBB5DD7D83587467A0E7F669ADB925A7BE4C1ECED1BC9E92DB 768CE76FDC86CCDD04BDF469679FE3261AA66C22AC6263E540B79780AAF09CFC798CDC4D1218 867388632EA4BD1BF511E4881E07C5387DDDBE741E615ACA0C32A738F5B952F1C17051EC3BAF 9F64C629515EA2AF93E6BB450A8B1B3E02963471679D5670AF93CFEA649172EDA7AC5E071E2D 3AF0BD"
     },
     "Status": "Online",
     "TimeOfLastSuccessfulBackup": null,
     "UseFailoverUri": false,
     "UseServiceNet": true
 }

Creating a backup configuration#

Create a backup configuration in which you define the following basic items:

  • The name of the backup

  • What you want to back up

  • When you want to back up

  • How often you want to back up

Look carefully at the Inclusions and Exclusions sections. Note that each exclusion must be within a folder that is included. If you like, you can programmatically create many configuration files like this with small changes for each server that you create.

The HTTP request must include a header to specify the authentication token.

An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL create a backup configuration request

curl -s -X POST $API_ENDPOINT/v1.0/$TENANT_ID/backup-configuration \
-H "X-Auth-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
     "MachineAgentId": 202743,
     "BackupConfigurationName": "Weekly Website Backup",
     "IsActive": true,
     "VersionRetention": 30,
     "MissedBackupActionId": 1,
     "Frequency": "Weekly",
     "StartTimeHour": 7,
     "StartTimeMinute": 30,
     "StartTimeAmPm": "PM",
     "DayOfWeekId": 5,
     "HourInterval": null,
     "TimeZoneId": "Eastern Standard Time",
     "NotifyRecipients": "test@my-email-address.com",
     "NotifySuccess": true,
     "NotifyFailure": true,
     "Inclusions": [
         {
             "FilePath": "C:\\backup_up_file.txt",
             "FileItemType": "File"
         },
         {
             "FilePath": "C:\\backed_up_folder",
             "FileItemType": "Folder"
         }
     ],
     "Exclusions": [
         {
             "FilePath": "C:\\backed_up_folder\\excluded_file.txt",
             "FileItemType": "File"
         }
     ]
 }'  | python -m json.tool

Example: Create a backup configuration response

{
     "BackupConfigurationId": 174084,
     "BackupConfigurationName": "Weekly Website Backup",
     "BackupConfigurationScheduleId": 173131,
     "BackupPostscript": "",
     "BackupPrescript": "",
     "Datacenter": "DFW",
     "DayOfWeekId": 5,
     "EncryptionKey": {
         "ExponentHex": 10001,
         "ModulusHex": "C6054E90E32D2B25E16F3A560E1B4DC580B1E4AB74E0C66268 0DD8A1BD83956051F6A526B16C55225D1BE6E0B1265F4085FB2F61B61337F5D32198E5CAFFEA CD50E90517A329146E43B20194C082A9C890060AD07A542FBC035B2A96F9F212C6D94887BECB 5E15F3E55397B975B1896CFC66EBB5DD7D83587467A0E7F669ADB925A7BE4C1ECED1BC9E92DB 768CE76FDC86CCDD04BDF469679FE3261AA66C22AC6263E540B79780AAF09CFC798CDC4D1218 867388632EA4BD1BF511E4881E07C5387DDDBE741E615ACA0C32A738F5B952F1C17051EC3BAF 9F64C629515EA2AF93E6BB450A8B1B3E02963471679D5670AF93CFEA649172EDA7AC5E071E2D 3AF0BD"
     },
     "Exclusions": [
         {
             "FileId": 657293,
             "FileItemType": "File",
             "FilePath": "C:\\backed_up_folder\\excluded_file.txt",
             "FilePathEncoded": null,
             "Filter": "Exclude",
             "ParentId": 174084
         }
     ],
     "Flavor": "RaxCloudServer",
     "Frequency": "Weekly",
     "HourInterval": null,
     "Inclusions": [
         {
             "FileId": 657291,
             "FileItemType": "File",
             "FilePath": "C:\\backup_up_file.txt",
             "FilePathEncoded": null,
             "Filter": "Include",
             "ParentId": 174084
         },
         {
             "FileId": 657292,
             "FileItemType": "Folder",
             "FilePath": "C:\\backed_up_folder",
             "FilePathEncoded": null,
             "Filter": "Include",
             "ParentId": 174084
         }
     ],
     "IsActive": true,
     "IsDeleted": false,
     "IsEncrypted": false,
     "LastRunBackupReportId": null,
     "LastRunTime": null,
     "MachineAgentId": 202743,
     "MachineName": "web2",
     "MissedBackupActionId": 1,
     "NextScheduledRunTime": "/Date(1406935800000)/",
     "NotifyFailure": true,
     "NotifyRecipients": "test@my-email-address.com",
     "NotifySuccess": true,
     "StartTimeAmPm": "PM",
     "StartTimeHour": 11,
     "StartTimeMinute": 30,
     "TimeZoneId": "Eastern Standard Time",
     "VersionRetention": 30
 }

Listing all backup configurations for an agent#

To verify that your backup configuration exists, you can list all of the backup configurations for your agent. The output is similar to that in Create a backup configuration.

The HTTP request must include a header to specify the authentication token.

An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL list all backup configurations for an agent request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/backup-configuration/system/youMachineAgentID \
-H "X-Auth-Token: $AUTH_TOKEN" | python -m json.tool

Example: List all backup configurations for an agent response

[
     {
         "BackupConfigurationId": 174084,
         "BackupConfigurationName": "Weekly Website Backup",
         "BackupConfigurationScheduleId": 173131,
         "BackupPostscript": "",
         "BackupPrescript": "",
         "Datacenter": "DFW",
         "DayOfWeekId": 5,
         "EncryptionKey": {
             "ExponentHex": 10001,
             "ModulusHex": "C6054E90E32D2B25E16F3A560E1B4DC580B1E4AB74E0C66268 0DD8A1BD83956051F6A526B16C55225D1BE6E0B1265F4085FB2F61B61337F5D32198E5CAFFEA CD50E90517A329146E43B20194C082A9C890060AD07A542FBC035B2A96F9F212C6D94887BECB 5E15F3E55397B975B1896CFC66EBB5DD7D83587467A0E7F669ADB925A7BE4C1ECED1BC9E92DB 768CE76FDC86CCDD04BDF469679FE3261AA66C22AC6263E540B79780AAF09CFC798CDC4D1218 867388632EA4BD1BF511E4881E07C5387DDDBE741E615ACA0C32A738F5B952F1C17051EC3BAF 9F64C629515EA2AF93E6BB450A8B1B3E02963471679D5670AF93CFEA649172EDA7AC5E071E2D 3AF0BD"
         },
         "Exclusions": [
             {
                 "FileId": 657293,
                 "FileItemType": "File",
                 "FilePath": "C:\\backed_up_folder\\excluded_file.txt",
                 "FilePathEncoded": null,
                 "Filter": "Exclude",
                 "ParentId": 174084
             }
         ],
         "Flavor": "RaxCloudServer",
         "Frequency": "Weekly",
         "HourInterval": null,
         "Inclusions": [
             {
                 "FileId": 657291,
                 "FileItemType": "File",
                 "FilePath": "C:\\backup_up_file.txt",
                 "FilePathEncoded": null,
                 "Filter": "Include",
                 "ParentId": 174084
             },
             {
                 "FileId": 657292,
                 "FileItemType": "Folder",
                 "FilePath": "C:\\backed_up_folder",
                 "FilePathEncoded": null,
                 "Filter": "Include",
                 "ParentId": 174084
             }
         ],
         "IsActive": true,
         "IsDeleted": false,
         "IsEncrypted": false,
         "LastRunBackupReportId": null,
         "LastRunTime": null,
         "MachineAgentId": 202743,
         "MachineName": "web2",
         "MissedBackupActionId": 1,
         "NextScheduledRunTime": "/Date(1406935800000)/",
         "NotifyFailure": true,
         "NotifyRecipients": "test@my-email-address.com",
         "NotifySuccess": true,
         "StartTimeAmPm": "PM",
         "StartTimeHour": 11,
         "StartTimeMinute": 30,
         "TimeZoneId": "Eastern Standard Time",
         "VersionRetention": 30
     }
 ]

Updating a backup configuration#

To schedule the backup for one hour later, for example, you can update the backup configuration that you created earlier. Specify the BackupConfigurationId value in the URI. Send the same JSON content that you used in Create a backup configuration but make the following changes:

  • Add v2 to BackupConfigurationName.

  • Change StartTimeHour to 8.

The HTTP request must include a header to specify the authentication token.

This operation does not return a response body. An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL update a backup configuration request

curl -i -X PUT $API_ENDPOINT/v1.0/$TENANT_ID/backup-configuration/yourBackupConfigurationID \
-H "X-Auth-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
     "MachineAgentId": 202743,
     "BackupConfigurationName": "Weekly Website Backup v2",
     "IsActive": true,
     "VersionRetention": 30,
     "MissedBackupActionId": 1,
     "Frequency": "Weekly",
     "StartTimeHour": 8,
     "StartTimeMinute": 30,
     "StartTimeAmPm": "PM",
     "DayOfWeekId": 5,
     "HourInterval": null,
     "TimeZoneId": "Eastern Standard Time",
     "NotifyRecipients": "test@my-email-address.com",
     "NotifySuccess": true,
     "NotifyFailure": true,
     "Inclusions": [
         {
             "FilePath": "C:\\backup_up_file.txt",
             "FileItemType": "File"
         },
         {
             "FilePath": "C:\\backed_up_folder",
             "FileItemType": "Folder"
         }
     ],
     "Exclusions": [
         {
             "FilePath": "C:\\backed_up_folder\\excluded_file.txt",
             "FileItemType": "File"
         }
     ]
 }'  | python -m json.tool

You can verify that the configuration is updated by using the following cURL request, specifying the same BackupConfigurationId that you used in the update request.

Example: cURL list a backup configuration request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/backup-configuration/yourBackupConfigurationID \
-H "X-Auth-Token: $AUTH_TOKEN" | python -m

Starting a backup manually#

If you do not do anything, Cloud Backup runs the backup at the scheduled time.

If you want to run the backup once to ensure that it works, you can start the backup manually. Use the BackupConfigurationId to indicate the backup configuration that you want to run. You can run the backup job as many time as you like. A backup is created each time you run the job.

The HTTP request must include a header to specify the authentication token.

This operation does not return a response body. An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL start a backup manually request

curl -i -X POST $API_ENDPOINT/v1.0/$TENANT_ID/backup/action-requested \
-H "X-Auth-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{   "Action" : "StartManual",
         "Id": yourBackupConfigurationId
    }'

The response comes from the server. The number at the end of the response is the ID of the job.

Example: Start a backup manually response

HTTP/1.1 200 OK
...
Date: Thu, 31 Jul 2014 16:54:38 GMT

368785

When the backup is done, you receive an email about the status, as shown in the following example. Receiving the email is based on the NotifyRecipients, NotifySuccess, and NotifyFailure parameters that you specify when you create your backup configuration (see Create a backup configuration).

Example: Start a backup manually email

Rackspace Cloud Backup
Backed Up: Weekly Website Backup v2 on web2
Status: Completed
Started: 31 Jul 2014 16:54 UTC
Completed: 31 Jul 2014 16:54 UTC
Source: web02
Files Searched: 2 (4 KB)
Errors Encountered: 0

Checking backup status#

You can verify whether your backup jobs ran properly, and if they did not, what errors occurred.

The HTTP request must include a header to specify the authentication token.

The following example output shows "CurrentState": "Queued". Other valid values for CurrentState are as follows:

  • Completed

  • CompletedWithErrors

  • Failed

  • InProgress

  • Missed

  • Preparing

  • Skipped

  • StartRequested

  • StartScheduled

  • Stopped

  • StopRequested

An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL check backup status request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/backup/yourBackupID \
-H "X-Auth-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json | python -m json.tool

Example: Check backup status response

{
     "BackupId": 368785,
     "BackupConfigurationId": 174084,
     "CurrentState": "Queued",
     "BackupConfigurationName": "Weekly Website Backup v2",
     "MachineAgentId": 202743,
     "MachineName": "web2",
     "StateChangeTime": "/Date(1406935800000)/",
     "IsEncrypted": false,
     "EncryptionKey": {
         "ExponentHex": 10001,
         "ModulusHex": "C6054E90E32D2B25E16F3A560E1B4DC580B1E4AB74E0C66268 0DD8A1BD83956051F6A526B16C55225D1BE6E0B1265F4085FB2F61B61337F5D32198E5CAFFEA CD50E90517A329146E43B20194C082A9C890060AD07A542FBC035B2A96F9F212C6D94887BECB 5E15F3E55397B975B1896CFC66EBB5DD7D83587467A0E7F669ADB925A7BE4C1ECED1BC9E92DB 768CE76FDC86CCDD04BDF469679FE3261AA66C22AC6263E540B79780AAF09CFC798CDC4D1218 867388632EA4BD1BF511E4881E07C5387DDDBE741E615ACA0C32A738F5B952F1C17051EC3BAF 9F64C629515EA2AF93E6BB450A8B1B3E02963471679D5670AF93CFEA649172EDA7AC5E071E2D 3AF0BD"
     }
 }

Listing activity for an agent#

You can display all the activities for an agent to find out whether your backups ran successfully or failed. This operation is useful if you do not set email notifications when you create your backup configuration and want to create a report about the state of previous backups. The operation lists all in-progress and completed activity for an agent. Activity types are Backup, Cleanup, and Restore.

The HTTP request must include a header to specify the authentication token.

An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL list activity for an agent request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/system/activity/yourAgentID /
-H "X-Auth-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" | python -m json.tool

Example: List activity for an agent response

[
     {
         "CurrentState": "Completed",
         "DestinationDatacenter": "",
         "DestinationMachineAgentId": 0,
         "DestinationMachineName": "",
         "DisplayName": "Cleanup",
         "ID": 317083,
         "IsBackupConfigurationDeleted": false,
         "ParentId": 0,
         "SourceDatacenter": "DFW",
         "SourceMachineAgentId": 202743,
         "SourceMachineName": "web2",
         "TimeOfActivity": "/Date(1375816993000)/",
         "Type": "Cleanup"
     },
     {
         "CurrentState": "Completed",
         "DestinationDatacenter": "",
         "DestinationMachineAgentId": 0,
         "DestinationMachineName": "",
         "DisplayName": "Web2",
         "ID": 5000325,
         "IsBackupConfigurationDeleted": true,
         "ParentId": 54020,
         "SourceDatacenter": "DFW",
         "SourceMachineAgentId": 202743,
         "SourceMachineName": "web2",
         "TimeOfActivity": "/Date(1375816984000)/",
         "Type": "Backup"
     }
 ]

Creating a restore configuration#

Now that you have a backup, you can restore it to a different location on your server. You can also restore it to a different server, or to the same folder on the same server. You must set the BackupMachineId, DestinationMachineId, and DestinationPath values properly. BackupId identifies the backup that you want to use to restore.

The HTTP request must include a header to specify the authentication token.

An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL create a restore configuration request

curl -s -X PUT $API_ENDPOINT/v1.0/$TENANT_ID/restore /
-H "X-Auth-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "BackupId": 368785,
       "BackupMachineId": 157512,
       "DestinationMachineId": 157512,
       "DestinationPath": "C:\\FolderPathForRestore\\",
       "OverwriteFiles": false }' | python -m json.tool

Example: Create a restore configuration response

{
     "RestoreId": 1394,
     "BackupId": 368785,
     "DestinationMachineId": 157512,
     "OverwriteFiles": false,
     "BackupConfigurationId": 174084,
     "BackupConfigurationName": "Weekly Website Backup v2",
     "BackupRestorePoint": "\Date(1357151359000)\",
     "BackupMachineId": 157512,
     "BackupMachineName": "TestWindows1",
     "BackupFlavor": "RaxCloudServer",
     "DestinationMachineName": "TestWindows2",
     "DestinationPath": "C:\\FolderPathForRestore\\",
     "IsEncrypted": false,
     "EncryptedPassword": null,
     "PublicKey": {
         "ExponentHex": 10001,
         "ModulusHex": "C6054E90E32D2B25E16F3A560E1B4DC580B1E4AB74E0C66268 0DD8A1BD83956051F6A526B16C55225D1BE6E0B1265F4085FB2F61B61337F5D32198E5CAFFEA CD50E90517A329146E43B20194C082A9C890060AD07A542FBC035B2A96F9F212C6D94887BECB 5E15F3E55397B975B1896CFC66EBB5DD7D83587467A0E7F669ADB925A7BE4C1ECED1BC9E92DB 768CE76FDC86CCDD04BDF469679FE3261AA66C22AC6263E540B79780AAF09CFC798CDC4D1218 867388632EA4BD1BF511E4881E07C5387DDDBE741E615ACA0C32A738F5B952F1C17051EC3BAF 9F64C629515EA2AF93E6BB450A8B1B3E02963471679D5670AF93CFEA649172EDA7AC5E071E2D 3AF0BD"
     },
     "RestoreStateId": 0
 }

Starting a restore operation manually#

You can manually run a restore operation that is based on a restore configuration. Use the RestoreId that was returned in Create a restore configuration. The following example is for an unencrypted restore operation. For an encrypted restore operation, you add the EncryptedPassword parameter with its value.

The HTTP request must include a header to specify the authentication token.

This operation does not return a response body. An HTTP status code of 204 (No Content) in the response indicates that the request succeeded.

Example: cURL start a restore manually request

curl -s -X POST $API_ENDPOINT/v1.0/$TENANT_ID/restore/action-requested \
  -H "X-Auth-Token: $AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"Action": "StartManual",
        "Id": 1394  }'

When the restore is complete, you receive an email about the status, as shown in the following example. Receiving the email is based on the NotifyRecipients, NotifySuccess, and NotifyFailure parameters that you specify when you create your backup configuration (see Create a backup configuration).

Example: Start a restore manually email

Rackspace Cloud Backup
Status: Completed
Started: 01 Aug 2014 14:40 UTC
Completed: 01 Aug 2014 14:40 UTC
Destination: C:\\FolderPathForRestore\\
Files Restored: 2 (4 KB)
Errors Encountered: 0

Getting a restore report#

You can request a restore report that provides information about the restore operation and tells you if the operation ran successfully.

The HTTP request must include a header to specify the authentication token.

An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL get a restore report request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/restore/report/yourRestoreID \
-H "X-Auth-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" | python -m json.tool

Example: Get a restore report response

{
   "BackupConfigurationId": 174084,
   "BackupConfigurationName": "Weekly Website Backup v2",
   "BackupReportId": 2437160,
   "CompletedTime": "/Date(1357151359000)/",
   "Diagnostics": "No errors",
   "Duration": "00:00:00",
   "ErrorList": [],
   "NumBytesRestored": "4 MB",
   "NumErrors": "0",
   "NumFilesRestored": "2",
   "OriginatingComputerName": "web02",
   "Reason": "Success",
   "RestoreDestination": "TestWindows2",
   "RestoreDestinationMachineId": 157512,
   "RestorePoint": "/Date(1357151359000)/",
   "StartTime": "/Date(1363790404000)/",
   "State": "Completed"
 }

Cloud Backup reports success. You can also check the folder listings on your server.

Deleting a backup configuration#

You can delete the backup configuration file and verify that it was removed.

Note

Similarly, you can also delete a restore configuration by using the operation to delete a restore configuration.

The HTTP request must include a header to specify the authentication token.

This operation does not return a response body. An HTTP status code of 200 (OK) in the response indicates that the request succeeded.

Example: cURL delete a backup configuration request

curl -i -X DELETE $API_ENDPOINT/v1.0/$TENANT_ID/backup-configuration/yourBackupConfigurationID \
-H "X-Auth-Token: $AUTH_TOKEN"

To verify that the backup configuration is deleted, list the backup configuration details to see IsDeleted: True.

Example: cURL list backup configuration details request

curl -s -X GET $API_ENDPOINT/v1.0/$TENANT_ID/backup-configuration/yourBackupConfigurationID \
-H "X-Auth-Token: $AUTH_TOKEN" | python -m json.tool

Example: List backup configuration details response

{
"BackupConfigurationId": 174084,
"BackupConfigurationName": "Weekly Website Backup v2",
 .....
"IsDeleted": true,
 ....
}