Add-VBRComputerBackupJob
Short Description
Creates Veeam Agent backup jobs and Veeam Agent backup policies.
Applies to
Product Edition: Community, Standard, Enterprise, Enterprise Plus, Veeam Universal License
Syntax
Add-VBRComputerBackupJob -OSPlatform {Windows | Linux | Mac | Unix} -Type {Workstation | Server | FailoverCluster} -Mode {ManagedByAgent | ManagedByBackupServer} -BackupObject <Object[]> -BackupType {EntireComputer | SelectedFiles | SelectedVolumes | MacUserHome} [-Name <string>] [-Description <string>] [-SelectedFilesOptions <VBRSelectedFilesBackupOptions>] [-SelectedVolumes <IVBRSelectedVolume[]>] [-ExcludedVolumes <VBRWindowsSelectedVolume[]>] [-IncludeUsbDrives] [-DestinationOptions <VBRComputerDestinationOptions>] [-BackupRepository <CBackupRepository>] [-RetentionPolicy <int>] [-StorageOptions <VBRStorageOptions>] [-SyntheticFullOptions <VBRSyntheticFullOptions>] [-ActiveFullOptions <VBRFullBackupOptions>] [-HealthCheckOptions <VBRFullBackupOptions>] [-CompactFullOptions <VBRFullBackupOptions>] [-NotificationOptions <VBRNotificationOptions>] [-ScriptOptions <VBRJobScriptOptions>] [-EnableDeletedComputerRetention] [-DeletedComputerRetentionPolicy <int>] [-EnableApplicationProcessing] [-ApplicationProcessingOptions <VBRApplicationProcessingOptions[]>] [-EnableIndexing] [-IndexingOptions <VBRComputerIndexingOptions[]>] [-EnableSchedule] [-ScheduleOptions <VBRObject>] [-UseSnapshotlessFileLevelBackup] [-BackupCacheOptions <VBRBackupCacheOptions>] [-RetentionType {RestorePoints | RestoreDays}] [-GFSOptions <VBRComputerGFSOptions>] [-WarningOptions <VBRComputerWarningOptions>] [-SanIntegrationOptions <VBRSanIntegrationOptions>] [-HighPriority] [<CommonParameters>] |
Detailed Description
This cmdlet creates Veeam Agent backup jobs and Veeam Agent backup policies.
To create backup policies, you must specify the protection group with the protected computers that you plan to back up and the target location for storing backups.
To create Veeam Agent backup jobs, you must specify the protection group with the protected computers and the repository for storing backups.
- Run Get-VBRProtectionGroup to get the protection group.
- Run Get-VBRBackupRepository to get the repository.
- Run New-VBRComputerDestinationOptions to specify the target location for storing backups.
To enable guest file indexing and application-aware processing, you must first specify the settings for these options.
- Run New-VBRApplicationProcessingOptions to specify application-aware processing settings.
- Run New-VBRComputerIndexingOptions to specify guest file system indexing settings.
Parameters
Parameter | Description | Required | Position | Accept |
---|---|---|---|---|
OSPlatform | Specifies the OS of the protected computers:
| True | Named | False |
Type | Specifies the type of the protected computers:
| True | Named | False |
Mode | Specifies the Veeam Agent backup job mode:
| True | Named | False |
BackupObject | Specifies an array of protection groups and discovered computers that you want to add to the Veeam Agent backup job. Accepts the VBRDiscoveredEntity[] and VBRProtectionGroup[] types. | True | Named | False |
BackupType | Specifies the scope of data that you want to back up.
| True | Named | False |
SelectedFilesOptions | For file-level backups. Specifies an array of folders with files that you want to back up. Accepts the VBRSelectedFilesBackupOptions type. | False | Named | False |
SelectedVolumes | For volume-level backups. Specifies an array of computer volumes that you want to back up. Accepts the following types:
| False | Named | False |
ExcludedVolumes | For volume-level backups. Specifies an array of computer volumes that you want to exclude from backup. Accepts the VBRWindowsSelectedVolume type. | False | Named | False |
Name | Specifies the name that you want to assign to the Veeam Agent backup job. | False | Named | False |
Description | Specifies the description of the Veeam Agent backup job. | False | Named | False |
IncludeUsbDrives | Indicates that Veeam Backup & Replication will back up the periodically connected USB drives. Note: You can set this parameter only for the following types of Veeam Agent jobs:
| False | Named | False |
DestinationOptions | Specifies the target backup location for the protected computers that you want to add to the backup policy. Note: This parameter does not work for Veeam Agent backup jobs. Accepts the VBRComputerDestinationOptions type. | False | Named | False |
BackupRepository | Specifies the target backup location for the Veeam Agent backup job. Note: This parameter is not available for backup policies. Accepts the CBackupRepository type. | False | Named | False |
RetentionPolicy | Specifies the retention policy for backups created by the Veeam Agent. Note: Retention policy specifies the following settings:
| False | Named | False |
SyntheticFullOptions | Specifies the schedule for synthetic full backup. Accepts the VBRSyntheticFullOptions type. Note: This parameter is not available for backup policies that Veeam Agent job applies to Linux computers. | False | Named | False |
ActiveFullOptions | Specifies the schedule for active full backup. Accepts the VBRFullBackupOptions type. | False | Named | False |
HealthCheckOptions | Specifies the health check schedule for the latest restore point. Accepts the VBRFullBackupOptions type. Note: This parameter is not available for backup policies that Veeam Agent job applies to Linux computers. | False | Named | False |
EnableDeletedComputerRetention | Indicates that Veeam Backup & Replication will keep the backup data for machines that have not been backed up for a certain period of time. Veeam Backup & Replication will remove backup files of these computers in case Veeam Agent backup job will not be able to back up these computers for the specified period. Use the DeletedComputerRetentionPolicy parameter to specify the number of days for keeping the backup files of machines that have not been backed up for a certain period of time. | False | Named | False |
DeletedComputerRetentionPolicy | For the EnableDeletedComputerRetention option. Specifies the period of time in days to keep backup files for machines that have not been backed up for a certain period of time. Veeam Backup & Replication will remove backup files of these computers in case Veeam Agent backup job will not be able to back up these computers when the specified period of time is over. Default: 30 days. | False | Named | False |
CompactFullOptions | Specifies the schedule for the compact operation of full backups created by the Veeam Agent backup job. Accepts the VBRFullBackupOptions type. Veeam Backup & Replication will defragment and compact a full backup per the schedule settings specified in the VBRFullBackupOptions object. Note: This parameter is not available for backup policies that Veeam Agent job applies to Linux computers. | False | Named | False |
StorageOptions | Specifies the settings for compression and storage optimization of the target backup repository. Accepts the VBRStorageOptions type. | False | Named | False |
NotificationOptions | Specifies notification settings for the Veeam Agent backup job. Accepts the VBRNotificationOptions type. | False | Named | False |
ScriptOptions | Specifies custom script settings. Veeam Backup & Replication will run pre-job and post-job scripts per these settings. Note: This parameter is not available for backup policies that Veeam Agent job applies to Windows computers. Accepts the VBRJobScriptOptions type. | False | Named | False |
EnableApplicationProcessing | Enables application-aware processing for the Veeam Agent backup job. | False | Named | False |
ApplicationProcessingOptions | Specifies the settings for application-aware processing. Accepts the VBRApplicationProcessingOptions type. | False | Named | False |
EnableIndexing | Indicates that the guest file system indexing is enabled. | False | Named | False |
IndexingOptions | Specifies indexing scope settings. Accepts the VBRComputerIndexingOptions type. | False | Named | False |
EnableSchedule | Indicates that Veeam Backup & Replication will schedule the Veeam Agent backup job to run on a regular basis. | False | Named | False |
ScheduleOptions | Specifies the settings for Veeam Agent job schedule. Accepts the types returned by the following cmdlets: | False | Named | False |
UseSnapshotlessFileLevelBackup | Indicates that the cmdlet will create the crash-consistent file-level backup without a snapshot. Note: This parameter is available for Linux machines with the file-level backup scope only. | False | Named | False |
BackupCacheOptions | Specifies backup cache settings of a Veeam Agent backup job for Microsoft Windows. Note: You can apply backup cache settings for Veeam Agent backup jobs that are targeted at the following types of backup location:
Accepts the VBRBackupCacheOptions type. | False | Named | False |
RetentionType | Specifies a retention type for Veeam Agent jobs managed by the Veeam Backup server. You can specify either of the following types:
| False | Named | False |
GFSOptions | Specifies a GFS retention. The cmdlet will create Veeam Agent job with the specified policy. Accepts the VBRComputerGFSOptions type. | False | Named | False |
WarningOptions | Specifies notifications settings for computers processed by Veeam Agent policies. Note: This parameter is not available for computers processed by Veeam Agent backup jobs. Accepts the VBRComputerWarningOptions type. | False | Named | False |
SanIntegrationOptions | Specifies storage integration settings for the Veeam Agent jobs. Accepts the VBRSanIntegrationOptions type. | False | Named | False |
HighPriority | Note: This parameter is available starting from Veeam Backup & Replication 11a (build 11.0.1.1261). Defines that Veeam Backup & Replication will prioritize this job higher than other similar jobs and will allocate resources to it in the first place. | False | Named | False |
<CommonParameters>
This cmdlet supports Microsoft PowerShell common parameters. For more information on common parameters, see the About CommonParameters section of Microsoft Docs.
Return Type
This cmdlet returns the VBRComputerBackupJob[] object that contains settings of Veeam Agent backup jobs and Veeam Agent backup policies.
Example 1
This example shows how to create the Veeam Agent backup job for Windows servers.
- Run Get-VBRProtectionGroup to get the protection group with Windows computers that you want to back up. Save the result to the $group variable.
- Run Get-VBRBackupRepository to get the repository, where you want to keep backups. Save the result to the $repository variable.
- Run Add-VBRComputerBackupJob with the $group and $repository variables. Specify the following parameters:
- Set the ManagedByBackupServer value for the Mode parameter to create the Veeam Agent backup job.
- Set the EntireComputer value for the BackupType parameter to create an entire computer image backup.
$group = Get-VBRProtectionGroup -Name "WindowsGroup" $repository = Get-VBRBackupRepository -Name "Default Backup Repository" Add-VBRComputerBackupJob -OSPlatform Windows -Type Server -Mode ManagedByBackupServer -Name "WindowsJob" -BackupObject $group -BackupType EntireComputer -BackupRepository $repository |
Example 2
This example shows how to create the Veeam Agent backup policy for Linux workstation. A backup job will run on Fridays at 7:00 PM.
- Run Get-VBRProtectionGroup to get the protection group with Linux computers that you want to back up. Save the result to the $group variable.
- Run Get-VBRBackupRepository to specify the repository. Save the result to the $repository variable.
- Run New-VBRComputerDestinationOptions to get the target location for backups. Save the result to the $destination variable.
- Run New-VBRDailyOptions to specify the daily options for the backup job schedule. Save the result to the $daily variable.
- Run New-VBRLinuxScheduleOptions with the $daily variable to create the backup job schedule. Save the result to the $schedule variable.
- Run Add-VBRComputerBackupJob with the $group, $schedule and $destination variables. Set the ManagedByAgent value for the Mode parameter to create the backup policy.
$group = Get-VBRProtectionGroup -Name "LinuxGroup" $repository = Get-VBRBackupRepository -Name "Default Backup Repository" $destination = New-VBRComputerDestinationOptions -OSPlatform Linux -BackupRepository $repository $daily = New-VBRDailyOptions -DayOfWeek Friday -Period 19:00 $schedule = New-VBRLinuxScheduleOptions -Type Daily -DailyOptions $daily Add-VBRComputerBackupJob -OSPlatform Linux -Type Workstation -Mode ManagedByAgent -Name "LinuxJob" -BackupObject $group -BackupType EntireComputer -DestinationOptions $destination -ScheduleOptions $schedule -EnableSchedule |
Example 3
This example shows how to create a Veeam Agent backup job for a failover cluster. The job will run with the following settings:
- Veeam Backup & Replication will run scripts located at the C:\script\ path before and after the backup job.
- The Veeam Agent backup job will still run if scripts fail.
To create the Veeam Agent backup job, perform the following steps:
- Run Get-VBRProtectionGroup to get the protection group with a failover cluster that you want to back up. Save the result to the $group variable.
- Run Get-VBRBackupRepository to get the repository, where you want to keep backups. Save the result to the $repository variable.
- Run New-VBRScriptProcessingOptions to specify the script settings. Save the result to the $script variable.
- Run New-VBRApplicationProcessingOptions to specify the application-aware processing settings. Use the $script variable to specify script settings. Save the result to the $processoptions variable.
- Run Add-VBRComputerBackupJob with the $group and $repository variables. Use the SelectedVolumes parameter to back up the required volume.
$group = Get-VBRProtectionGroup -Name "ClusterGroup" $repository = Get-VBRBackupRepository -Name "Default Backup Repository" $script = New-VBRScriptProcessingOptions -ProcessingAction IgnoreFailures -ScriptPrefreezeCommand C:\script\pre-script.bat -ScriptPostthawCommand C:\script\post-script.bat $processoptions = New-VBRApplicationProcessingOptions -BackupObject $group -OSPlatform Windows -Enable -GeneralTransactionLogAction ProcessLogsWithJob -ScriptProcessingOptions $script Add-VBRComputerBackupJob -OSPlatform Windows -Type FailoverCluster -Mode ManagedByBackupServer -Name "NewCluster" -BackupObject $group -BackupType SelectedVolumes -SelectedVolumes "D:\" -BackupRepository $repository -EnableApplicationProcessing -ApplicationProcessingOptions $processoptions |
Example 4
This example shows how to create a Veeam Agent backup policy for Linux server. The backup job will create volume-level backups.
- Run Get-VBRProtectionGroup to get the protection group with Linux computers that you want to back up. Save the result to the $group variable.
- Run Get-VBRBackupRepository to specify the repository. Save the result to the $repository variable.
- Run New-VBRComputerDestinationOptions to get the target location for backups. Save the result to the $destination variable.
- Run New-VBRLinuxSelectedVolume to specify the volumes that you want to back up. Save the result to the $scope variable.
- Run Add-VBRComputerBackupJob with the $group, $destination and $scope variables. Set the ManagedByAgent value for the Mode parameter to create the backup policy. Set the SelectedVolumes value for the BackupType parameter to create a volume-level backup.
$group = Get-VBRProtectionGroup -Name "LinuxGroup" $repository = Get-VBRBackupRepository -Name "Default Backup Repository" $destination = New-VBRComputerDestinationOptions -OSPlatform Linux -BackupRepository $repository $scope = New-VBRLinuxSelectedVolume -Type Device -Path "/dev/sda" Add-VBRComputerBackupJob -OSPlatform Linux -Type Server -Mode ManagedByAgent -Name "LinuxServerJob" -BackupObject $group -BackupType SelectedVolumes -DestinationOptions $destination -SelectedVolumes $scope |
Related Commands
New-VBRComputerDestinationOptions