Dell Appassure 5 User Guide
Have a look at the manual Dell Appassure 5 User Guide online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 327 Dell manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
Dell AppAssure User Guide Version 5.4.3 Revision B379 $NightlyAttachabilityJobRequestObject = $NightlyAttachabilityJobRequest -as [Replay.Core.Contracts.Sql.NightlyAttachabilityJobRequest]; echo Nightly Attachability job results:; if($NightlyAttachabilityJobRequestObject -eq $null) { echo NightlyAttachabilityJobRequestObject parameter is null; } else { echo AgentId: $NightlyAttachabilityJobRequestObject.AgentId; echo IsNightlyJob: $NightlyAttachabilityJobRequestObject.IsNightlyJob; } break; } # working with Rollup Job RollupJob { $RollupJobRequestObject = $RollupJobRequest -as [Replay.Core.Contracts.Rollup.RollupJobRequest]; echo Rollup job results:; if($RollupJobRequestObject -eq $null) { echo RollupJobRequestObject parameter is null; } else { echo SimultaneousJobsCount: $RollupJobRequestObject.SimultaneousJobsCount; echo AgentId: $RollupJobRequestObject.AgentId; echo IsNightlyJob: $RollupJobRequestObject.IsNightlyJob; } $AgentsCollection = $Agents -as System.Collections.Generic.List``1[System.Guid] if($AgentsCollection -eq $null) { echo AgentsCollection parameter is null; } else { echo Agents GUIDs: foreach ($a in $AgentsCollection) { echo $a } } break; } # working with Checksum Check Job ChecksumCheckJob {
Dell AppAssure User Guide Version 5.4.3 Revision B380 $ChecksumCheckJobRequestObject = $ChecksumCheckJobRequest -as [Replay.Core.Contracts.Exchange.ChecksumChecks.ChecksumCheckJobRequest]; echo Exchange checksumcheck job results:; if($ChecksumCheckJobRequestObject -eq $null) { echo ChecksumCheckJobRequestObject parameter is null; } else { echo RecoveryPointId: $ChecksumCheckJobRequestObject.RecoveryPointId; echo AgentId: $ChecksumCheckJobRequestObject.AgentId; echo IsNightlyJob: $ChecksumCheckJobRequestObject.IsNightlyJob; } break; } # working with Log Truncation Job TransferJob { $TransferJobRequestObject = $TransferJobRequest -as [Replay.Core.Contracts.Transfer.TransferJobRequest]; echo Transfer job results:; if($TransferJobRequestObject -eq $null) { echo TransferJobRequestObject parameter is null; } else { echo TransferConfiguration: $TransferJobRequestObject.TransferConfiguration; echo StorageConfiguration: $TransferJobRequestObject.StorageConfiguration; } echo LatestEpochSeenByCore: $LatestEpochSeenByCore; $TakeSnapshotResponseObject = $TakeSnapshotResponse -as [Replay.Agent.Contracts.Transfer.TakeSnapshotResponse]; if($TakeSnapshotResponseObject -eq $null) { echo TakeSnapshotResponseObject parameter is null; } else { echo ID of this transfer session: $TakeSnapshotResponseObject.Id; echo Volumes: $TakeSnapshotResponseObject.Volumes; } break; } }
Dell AppAssure User Guide Version 5.4.3 Revision B381 Using Bourne Shell scripting in AppAssure Bourne shell (sh) is a shell language or command-line interpreter for Unix-based operating systems. Bourne shell is used in AppAssure with Linux to customize environments and specify certain operations to occur in a predetermined sequence. The .sh is the file extension and naming convention for Bourne shell files. Bourne Again Shell (BASH) is a similar shell language that implements the same grammar, parameter, and variable expansion, redirection and quoting. BASH also uses the same .sh file extension. The information here applies equally to BASH. Using pre and post transfer and export script hooks, you can perform system operations before and after a transfer or export. For example, you may want to disable a certain cronjob while a transfer is occurring and enable it once the transfer has finished. As another example, you may need to run commands to flush application-specific data to disk. The contents are written to a temporary file and run using exec. The script then runs using the interpreter defined in the first line of the script, for example, (#!/usr/bin/env bash). If the specified interpreter is not available, the script uses the default shell defined in the $SHELL environment variable. You can substitute and use any interpreter. For example, on the #! line of the script, you can replace “bash” with “zsh” (Z shell), “tcsh” (tee shell), and so on, based on your preference. You can add available objects from the TransferPrescript parameter or add your own commands to the PreTransferScript.sh and PostTransfer.sh scripts to customize them. This section describes the scripts that can be used by administrators at designated occurrences in AppAssure for Windows and Linux. It includes the following topics: •Input parameters for Bourne Shell scripting •Sample Bourne Shell scripts Prerequisites for Bourne Shell scripting All scripts must be named PreTransferScript.sh, PostTransfer.sh, and PostExportScript.sh. Additionally, all scripts must reside in the /opt/appassure/scripts/ directory. Testing Bourne Shell scripting You can test the scripts you want to run by using the editor for the script (.sh) files. NOTE: If the pre-Bourne Shell or post-Bourne Shell scripts fail, the job also fails. Information about the job is available in the /var/log/appassure/appassure.log file. Successful scripts return the exit code 0.
Dell AppAssure User Guide Version 5.4.3 Revision B382 Input parameters for Bourne Shell scripting The parameters for Bourne Shell scripting in AppAssure are described in the following tables. TransferPrescriptParameters_VolumeNames The following table presents the available objects for the TransferPrescript parameter. Table 219. TransferPrescript objects Method Description public VolumeNameCollection VolumeNames (get; set; ) Gets or sets the collection of volume names for transfer. VolumeNames is a data structure that contains the following data: • GuidName. The Guid associated with the volume, used as the name if a DisplayName is not set. • DisplayName. The displayed name of the volume. public ShadowCopyType ShadowCopyType { get; set; } Gets or sets the type of copying for transfer. ShadowCopyType is an enumeration with values. The available values are: •Unknown •Copy •Full public string Key { get; set; } The Key method generates a pseudorandom (but not cryptographically secure) key, which can be used as a one-time password to authenticate transfer requests. public bool ForceBaseImage { get; set; } Gets or sets the value indicating whether the transfer was a forced base image capture. public bool IsLogTruncation { get; set; } Gets or sets the value indicating whether logging is being truncated. public uint LatestEpochSeenByCore { get; set; } Gets or sets latest epoch value. The LatestEpochSeenByCore method is the ordinal number of the most recent snapshot taken by the Core. This is the epoch number assigned by the filter driver to this particular snapshot at the moment it was taken with VSS.
Dell AppAssure User Guide Version 5.4.3 Revision B383 TransferPostscriptParameter The following table presents the available objects for the TransferPostscript parameter. Table 220. TransferPostscript objects Method Description public VolumeNameCollection VolumeNames (get; set; ) Gets or sets the collection of volume names for transfer. VolumeNames is a data structure that contains the following data: • GuidName. The Guid associated with the volume, used as the name if a DisplayName is not set. • DisplayName. The displayed name of the volume. public ShadowCopyType ShadowCopyType { get; set; } Gets or sets the type of copying for transfer.ShadowCopyType is an enumeration with values. The available values are: •Unknown •Copy •Full public string Key { get; set; } The Key method generates a pseudorandom (but not cryptographically secure) key, which can be used as a one-time password to authenticate transfer requests. public bool ForceBaseImage { get; set; } Gets or sets the value indicating whether the transfer was a forced base image capture. public bool IsLogTruncation { get; set; } Gets or sets the value indicating whether logging is being truncated. public uint LatestEpochSeenByCore { get; set; } Gets or sets latest epoch value. The LatestEpochSeenByCore method is the ordinal number of the most recent snapshot taken by the Core. This is the epoch number assigned by the filter driver to this particular snapshot at the moment it was taken with VSS.
Dell AppAssure User Guide Version 5.4.3 Revision B384 Sample Bourne Shell scripts This section describes the sample Bourne Shell scripts available for administrative users to run on protected machines. The sample scripts for protected machines include: •Pr eTra n sf er Scri pt. s h •Po st Tr an s fe rScr ip t. s h •PostExportScript.sh PreTransferScript.sh The PreTransferScript is run on the protected machine before transferring a snapshot. The following script stores the values from input parameters in the Pre(Post)TransferScriptResult.txt, which is located and stored in the root home directory. Sample PreTransferScript #!/bin/bash echo TransferPrescriptParameter_VolumeNames=$TransferPrescriptParameter_VolumeNames TransferPrescriptParameter_ShadowCopyType=$TransferPrescriptParameter_ShadowCopyTyp e TransferPrescriptParameter_Key=$TransferPrescriptParameter_Key TransferPrescriptParameter_ForceBaseImage=$TransferPrescriptParameter_ForceBaseImag e TransferPrescriptParameter_IsLogTruncation=$TransferPrescriptParameter_IsLogTruncat ion TransferPrescriptParameter_LatestEpochSeenByCore=$TransferPrescriptParameter_Latest EpochSeenByCore > ~/PreTransferScriptResult.txt exit 0 CAUTION: The sample Bourne scripts provided in this document will function when run as designed by qualified administrators. Take precautions when modifying functioning scripts to retain working versions. Any modifications to the script samples included here, or any scripts you create, are considered customization, which is not typically covered by Customer Support. NOTE: Protected machines use the exec shell command to launch the script. You can indicate which interpreter should run the script by defining that information in the first line of the script. If you don’t specify the interpreter, the default shell interprets the script. If you choose something other than the default shell, you must ensure that the specified interpreter is available on all protected machines.
Dell AppAssure User Guide Version 5.4.3 Revision B385 PostTransferScript.sh The PostTransferScript is run on the protected machine after transferring a snapshot. The following script stores the values from input parameters in the Pre(Post)TransferScriptResult.txt, which is located and stored in the root home directory. Sample PostTransferScript #!/bin/bash echo TransferPostscriptParameter_VolumeNames=$TransferPostscriptParameter_VolumeNames TransferPostscriptParameter_ShadowCopyType=$TransferPostscriptParameter_ShadowCopyT ype TransferPostscriptParameter_Key=$TransferPostscriptParameter_Key TransferPostscriptParameter_ForceBaseImage=$TransferPostscriptParameter_ForceBaseIm age TransferPostscriptParameter_IsLogTruncation=$TransferPostscriptParameter_IsLogTrunc ation TransferPostscriptParameter_LatestEpochSeenByCore=$TransferPostscriptParameter_Late stEpochSeenByCore > ~/PostTransferScriptResult.txt exit 0 PostExportScript.sh The PostExportScript is run on the protected machine after the transfer. The following script stores the values from input parameters in the Pre(Post)ExportScriptResult.txt, which is located and stored in the root home directory. Sample PostExportScript #!/bin/bash echo $curr_name-exported > /etc/hostname exit 0
Dell AppAssure User Guide Version 5.4.3 Revision B D 386 Understanding AppAssure APIs The purpose of this section is to provide an introduction and overview of the AppAssure REST APIs, their use and function. The AppAssure Web service APIs are RESTful and allow you to automate and customize certain functions and tasks within the AppAssure software solution to assist you with meeting your business objectives. This document describes the AppAssure Core and Agent API references and lists the service contracts and URI for each category. See either of the following sections for information regarding the service contracts that are included in the Core and Agent client assemblies: •Using AppAssure Core API •Using AppAssure Agent API Intended Audience AppAssure APIs are intended for use by application developers who want to integrate and extend AppAssure in their application as well as administrators who want to script interactions with the AppAssure Core Server. Recommended additional reading •Dell AppAssure Installation and Upgrade Guide. This guide provides an overview of the AppAssure architecture and features and describes the steps and instruction necessary for installing the AppAssure components, as well as for migrating from Replay to AppAssure. You can download this guide from https://support.software.dell.com/appassure/5.4.3/release-notes-guides/. Working with AppAssure REST APIs The AppAssure APIs are REST-style APIs, which means that they use HTTP requests to provide access to resources (data entities) through URI paths. AppAssure APIs use standard HTTP methods such as GET, PUT, POST, and DELETE. Since REST APIs are based on open standards, you can use any language or tool that supports HTTP calls. There are two ways that application developers and administrators can work with AppAssure APIs. They are: •Using C# or other .NET languages to directly use AppAssure .NET client DLL files. •Communicate directly with the HTTP endpoint to generate your own XML. The first approach is recommended. The client DLLs are available in the AppAssure Core installation directory. The method for calling AppAssure APIs is consistent with the way you would consume any .NET 4.0 WCF service. The main DLL is Core.Client.dll. Core.Contracts.dll, Agent.Contracts.dll and any other *.Contract.dll can be used as needed to support what you are trying to accomplish with AppAssure.
Dell AppAssure User Guide Version 5.4.3 Revision B387 Using AppAssure Core API The AppAssure Core API references are grouped according to the following categories and service interfaces. Click a category to get more information about the service operations available for a particular interface. The service contracts contained in the Core client assembly are described in the following table: Table 1. Core service contracts Service Contract URI Description IAgentDiagnosticsManagementagentdiag/ Replay.Core.Contracts.Agents.IAgentDiagnosti csManagement IAgentsGroupsManagementagentGroups/ Interface implemented by the groups service, which performs actions on the core related to the group. IAgentsManagementagents/ Interface implemented by the agents service, which performs actions on the core related to the agent. IApplianceEventsManagementevents/appliance/ Exposes the appliance events for the Core. IApplicationIdManagementid/ Exposes the unique ID for the application. IAutoUpdateManagementautoupdate/ Replay.Core.Contracts.AutomaticUpdate.IAuto UpdateManagement IBackgroundJobManagementjobmgr/ WCF contract interface that is implemented by a class which implements the management interface on top of the background job manager. IBackupManagementbackup/ Interface implemented by the Core backup management service, that is used for backing up and restoring a local core. IBootCdBuilderManagementbootcdbuilder/ Replay.Core.Contracts.BootCdBuilder.IBootCdB uilderManagement ICloudManagementcloud/ Exposes the cloud management API. IClustersManagementclusters/ Exposes the cluster management API. ICoreBackupRestoreManagementcorebackuprestore/ Interface that is implemented by the core configuration backup and restore management service which is used to perform a backup and restore of the Core configuration. ICoreCallbackManagementcorecallback/ Interface that is implemented by the core callback management service, which is used to by remote agents. ICoreDiagnosticsManagementcorediag/ Replay.Core.Contracts.Diagnostics.ICoreDiagn osticsManagement ICoreMetadataManagementmetadata/ Interface that is implemented by the core metadata service, which maintains, caches, and returns core metadata. ICoreSettingsManagementsettings/ Provides a way to query and set assorted core- wide settings. IDatabaseStorageManagementdatabaseStorage/ Interface for the communication and configuration of persistent database storage that is used for events and reports the storing of information. IDiagnosticsManagementdiag/ Replay.Common.Contracts.Diagnostics.IDiagno sticsManagement
Dell AppAssure User Guide Version 5.4.3 Revision B388 IEmailsManagementemailsmgr/ WCF contract interface for the management of email. IEncryptionKeyManagementencryption/ Encryption key management that is used with repositories and dependent services. IEventsManagementevents/ Exposes the events and alerts on the Core. IExchangeManagementexchange/ Exposes the MS Exchange management on the Core. IExportQueueManagementexport/queue/ RESTful API for the export queue. IExportSchedulerManagementexport/schedule/ RESTful API for the export scheduler. IHyperVAgentManagementhypervagent/ Replay.Common.Contracts.Virtualization.IHyp erVAgentManagement IIsoDatabaseManagementbootcdbuilder/ Replay.Core.Contracts.BootCdBuilder.IIsoData baseManagement ILicenseManagementlicense/ Interface that is implemented by the core license management service, which provides license information and functionality. ILocalizationManagementlocalization/ Interface that is implemented by the common localization service with a persistent configuration, which maintains, set and gets products current culture. ILocalMountManagementmounts/ Interface that is implemented by the local mounts management service, used to mount and un-mount volume images on the local core. ILoggingManagementlogs/ Replay.Core.Contracts.Logging.ILoggingManag ement ILogTruncationManagementlogtruncation/ Interface that is implemented by core log truncation management service which provides log truncation functionality. INightlyJobsManagementnightlyJobs/ RESTful API for nightly jobs. IProtectedItemsManagementprotectedItems/ Exposes protected items such as agents, clusters, cluster nodes and groups as tree. IPushInstallCommunicationpushinstallcomm/ API used internally to communicate between core and PushInstall agent. NOTE: Do not use this API directly. IPushInstallManagementpushinstall/ Interface implements the ability to install an agent on remote machine. Push install is a functionality that allows user to initiate and control agent installation on remote environments in a network. IRecoveryPointsManagementrecoveryPoints/ Interface that is implemented by the recovery points management service, which exposes information about recovery points to REST clients. IRemoteMountManagementremoteMounts/ Interface that is implemented by the remote mounts management service, used to disconnect mounted volume images on the remote machines. IReplayEngineManagementreplayEngine/ Interface that is implemented by the Replay engine management service, which is used to configure and monitor the Replay engine. Table 1. Core service contracts Service Contract URI Description