C Backup and restore script examples

C.1 Sample backup script

As an alternative to using SettingsActionsCreate backup from the appliance UI, you can write and run a script to automatically create and download an appliance backup file.

Example 8 “Sample backup.ps1 script” provides a sample PowerShell script that uses REST calls to create and download an appliance backup file. Cut and paste this sample script into a file on a Windows system that runs PowerShell version 3.0, and edit the script to customize it for your environment.

You can schedule the backup script to run automatically in interactive or batch mode on a regular basis (HP recommends daily backups). Only a user with Backup administrator or Infrastructure administrator privileges can run the script interactively.

To run the script interactively, do not include any parameters. The script prompts you to enter the appliance host name, appliance user name and password, and the name of a file to store these parameters for batch mode executions. Enter the name and password of a user with the Backup administrator or Infrastructure administrator role. The user name and password are stored encrypted.

HP recommends that you run the script interactively the first time. Then, you can schedule the script to run automatically in the background using the parameter file created by the first run.

To run the script in batch mode, specify the name of the file containing the parameters on the command line.

HP recommends that you install cURL with the SSL option to improve performance. The sample script works without cURL, but it might take several hours to download a large backup file. To download cURL, see:

http://curl.haxx.se/download.html

NOTE: You might also need to install Microsoft Visual C++ Redistributable, the MSVCR100.dll file, available here:

64 bit: http://www.microsoft.com/download/en/details.aspx?id=14632

32 bit: http://www.microsoft.com/download/en/details.aspx?id=5555 Make sure the path environment variable includes the path for cURL.

Sample script

The sample script makes the following calls to create and download a backup file:

1.Calls queryfor-credentials()to get the appliance host name, user name, and password by either prompting the user or reading the values from a file.

2.Calls login-appliance()to issue a REST request to obtain a session ID used to authorize backup REST calls.

3.Calls backup-appliance()to issue a REST request to start a backup.

4.Calls waitFor-completion()to issue REST requests to poll for backup status until the backup completes.

5.Calls get-backupResource()to issue a REST request to get the download URI.6.Calls download-backup()to issue a REST request to download the backup.

C.1 Sample backup script 271