Add-VBRComputerBackupJob

In this article

    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} -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>]  [<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.

    To enable guest file indexing and application-aware processing, you must first specify the settings for these options.

    Parameters

    Parameter

    Description

    Required

    Position

    Accept
    Pipeline
    Input

    OSPlatform

    Specifies the OS of the protected computers:

    • Windows: for Windows computers.
    • Linux: for Linux computers.
    • Mac: for macOS computers.

    True

    Named

    False

    Type

    Specifies the type of the protected computers:

    • Workstation: for remote workstations or laptops. Veeam Backup & Replication will apply the settings that are available in the Workstation edition of Veeam Agent.
    • Server: for standalone servers. Veeam Backup & Replication will apply the settings available for the Server edition of Veeam Agent.
    • FailoverCluster: for failover clusters.
      Note: The FailoverCluster type does not apply for Veeam Agent for Linux.

    True

    Named

    False

    Mode

    Specifies the Veeam Agent backup job mode:

    • ManagedByAgent: use this option to create the backup policy.
      Note: This mode is the only available mode for jobs that back up workstations.
    • ManagedByBackupServer: use this option to create a backup job.
      Note: This mode is the only available mode for jobs that back up failover clusters.

    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.

    • EntireComputer: for entire computer image backups.
    • SelectedFiles: for file-level backups.
      Note:
      This option is not available for the job that backs up failover clusters.
      If you select this option, you will not be able to switch to the EntireComputer or SelectedVolumes options.
    • SelectedVolumes: for volume-level backups.
    • MacUserHome: for backups of the Users folder that contains the Home folders of all users.

    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:

    • String[]
      Note: You can set this type for Windows-based computers only.
    • VBRLinuxSelectedVolume
      Note: You can set this type for Linux-based computers only.

    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:

    • Veeam Agent jobs that back up entire images of Windows computers.
    • Veeam Agent backup policies that back up the Users folder that contains the Home folders of all users.

    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:

    • For jobs that back up Windows workstations the retention policy specifies the number of days.
    • For jobs that back up Linux computes the retention policy specifies the number of restore points.
    • For jobs that back up servers, the retention policy specifies the number of restore points or a number of days.
    • For Veeam Agent policies that that back up macOS computers, the retention policy specifies the restore points.

    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

    a 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:

    • Veeam backup repository
    • Veeam Cloud Connect repository

    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:

    • RestorePoints
    • RestoreDays

    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

    <CommonParameters>

    This cmdlet supports Microsoft PowerShell common parameters. For more information about common parameters, see http://go.microsoft.com/fwlink/p/?LinkID=113216.

    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.

    1. Run Get-VBRProtectionGroup to get the protection group with Windows computers that you want to back up. Save the result to the $group variable.
    2. Run Get-VBRBackupRepository to get the repository, where you want to keep backups. Save the result to the $repository variable.
    3. 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.

    1. Run Get-VBRProtectionGroup to get the protection group with Linux computers that you want to back up. Save the result to the $group variable.
    2. Run Get-VBRBackupRepository to specify the repository. Save the result to the $repository variable.
    3. Run New-VBRComputerDestinationOptions to get the target location for backups. Save the result to the $destination variable.
    4. Run New-VBRDailyOptions to specify the daily options for the backup job schedule. Save the result to the $daily variable.
    5. Run New-VBRLinuxScheduleOptions with the $daily variable to create the backup job schedule. Save the result to the $schedule variable.
    6. 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:

    1. 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.
    2. Run Get-VBRBackupRepository to get the repository, where you want to keep backups. Save the result to the $repository variable.
    3. Run New-VBRScriptProcessingOptions to specify the script settings. Save the result to the $script variable.
    4. 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.
    5. 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.

    1. Run Get-VBRProtectionGroup to get the protection group with Linux computers that you want to back up. Save the result to the $group variable.
    2. Run Get-VBRBackupRepository to specify the repository. Save the result to the $repository variable.
    3. Run New-VBRComputerDestinationOptions to get the target location for backups. Save the result to the $destination variable.
    4. Run New-VBRLinuxSelectedVolume to specify the volumes that you want to back up. Save the result to the $scope variable.
    5. 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

    Get-VBRProtectionGroup

    New-VBRComputerDestinationOptions

    New-VBRDailyOptions

    New-VBRLinuxScheduleOptions

    New-VBRApplicationProcessingOptions

    New-VBRLinuxSelectedVolume