New-AzRecoveryServicesBackupProtectionPolicy

建立備份保護原則。

Syntax

New-AzRecoveryServicesBackupProtectionPolicy
   [-Name] <String>
   [-WorkloadType] <WorkloadType>
   [[-BackupManagementType] <BackupManagementType>]
   [[-RetentionPolicy] <RetentionPolicyBase>]
   [[-SchedulePolicy] <SchedulePolicyBase>]
   [[-MoveToArchiveTier] <Boolean>]
   [[-TieringMode] <TieringMode>]
   [[-TierAfterDuration] <Int32>]
   [[-TierAfterDurationType] <String>]
   [-BackupSnapshotResourceGroup <String>]
   [-BackupSnapshotResourceGroupSuffix <String>]
   [-SnapshotConsistencyType <SnapshotConsistencyType>]
   [-VaultId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzRecoveryServicesBackupProtectionPolicy Cmdlet 會在保存庫中建立備份保護原則。 保護原則與至少一個保留原則相關聯。 保留原則會定義恢復點與 Azure 備份 保留的時間長度。 您可以使用 Get-AzRecoveryServicesBackupRetentionPolicyObject Cmdlet 來取得預設保留原則。 您可以使用 Get-AzRecoveryServicesBackupSchedulePolicyObject Cmdlet 來取得預設排程原則。 SchedulePolicy 和 RetentionPolicy 物件會做為 New-AzRecoveryServicesBackupProtectionPolicy Cmdlet 的輸入。 在使用目前的 Cmdlet 之前,請先使用 Set-AzRecoveryServicesVaultContext Cmdlet 來設定保存庫內容。

範例

範例 1:建立備份保護原則

$SchPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$SchPol.ScheduleRunTimes.Clear()
$Dt = Get-Date
$SchPol.ScheduleRunTimes.Add($Dt.ToUniversalTime())
$RetPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
$RetPol.DailySchedule.DurationCountInDays = 365
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType AzureVM -RetentionPolicy $RetPol -SchedulePolicy $SchPol

第一個命令會取得基底 SchedulePolicyObject,然後將它儲存在$SchPol變數中。 第二個命令會從排程原則中移除$SchPol中的所有排程運行時間。 第三個命令會使用 Get-Date Cmdlet 來取得目前的日期和時間。 第四個命令會將$Dt中的目前日期和時間新增為排程原則的排程運行時間。 第五個命令會取得基底 RetentionPolicy 物件,然後將它儲存在$RetPol變數中。 第六個命令會將保留期間原則設定為365天。 最後一個 命令會根據先前命令所建立的排程和保留原則,建立BackupProtectionPolicy 物件。

範例 2:建立每天多個備份的檔案共享原則

$schedulePolicy = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
$timeZone = Get-TimeZone
$schedulePolicy.ScheduleRunTimeZone = $timeZone.Id
$startTime = Get-Date -Date "2021-12-22T06:00:00.00+00:00"
$schedulePolicy.ScheduleWindowStartTime = $startTime.ToUniversalTime()
$schedulePolicy.ScheduleInterval = 6
$schedulePolicy.ScheduleWindowDuration = 14
$retentionPolicy = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
$retentionPolicy.DailySchedule.DurationCountInDays = 10
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType AzureVM -RetentionPolicy $retentionPolicy -SchedulePolicy $schedulePolicy

第一個命令會取得基底 每小時 SchedulePolicyObject,然後將它儲存在$schedulePolicy變數中。 第二和第三個命令會擷取時區,並更新$schedulePolicy中的時區。 第四和第五個命令會初始化排程時間範圍開始時間,並更新$schedulePolicy。 請注意,即使時區不是UTC,開始時間也必須以UTC為單位。 第六個和第七個命令會更新間隔(以小時為單位),之後備份將會在相同日重新嘗試執行排程的持續時間(以小時為單位)。 第八個命令會取得基底 每小時 RetentionPolicy 物件,然後將它儲存在$retentionPolicy變數中。 第九個命令會將保留期間原則設定為10天。 最後一個 命令會根據先前命令所建立的排程和保留原則,建立BackupProtectionPolicy 物件。

範例 3

建立備份保護原則。 ( 自動產生 )

New-AzRecoveryServicesBackupProtectionPolicy -Name 'NewPolicy' -RetentionPolicy $RetPol -SchedulePolicy $SchPol -VaultId $vault.ID -WorkloadType AzureVM

範例 4:建立新的 AzureVM 原則,以使用 TieringMode TierRecommended 啟用封存智慧階層處理

$pol = New-AzRecoveryServicesBackupProtectionPolicy -Name newTierRecommendedPolicy -WorkloadType AzureVM -BackupManagementType AzureVM -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultId $vault.ID -MoveToArchiveTier $true -TieringMode TierRecommended

此命令用來建立原則來啟用階層處理模式 TierRecommended 的封存智慧階層處理,我們將 -MoveToArchiveTier 參數設定為 $true,以啟用智慧階層處理。 我們將 TieringMode 設定為 TierRecommended,將所有建議的恢復點移至封存。 請注意,階層處理模式 TierRecommended 僅支援工作負載類型 AzureVM。

範例 5:建立已停用封存智慧階層處理的新原則

$pol = New-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID  -WorkloadType AzureVM -BackupManagementType AzureVM -RetentionPolicy $retPol -SchedulePolicy $schPol -MoveToArchiveTier $false

此命令可用來在建立原則時停用封存智慧階層處理,我們將MoveToArchiveTier參數設定為$false停用階層處理。

範例 6:為 workloadType MSSQL 建立非 UTC 時區標準原則

$schedulePolicy = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType MSSQL -BackupManagementType AzureWorkload -PolicySubType Standard

$timeZone = Get-TimeZone -ListAvailable | Where-Object { $_.Id -match "Tokyo" } 
$date= Get-Date -Hour 9 -Minute 0 -Second 0 -Year 2022 -Day 26 -Month 12 -Millisecond 0
$date = [DateTime]::SpecifyKind($date,[DateTimeKind]::Utc)
$schedulePolicy.FullBackupSchedulePolicy.ScheduleRunFrequency = "Weekly"
$schedulePolicy.FullBackupSchedulePolicy.ScheduleRunTimes[0] = $date
$schedulePolicy.FullBackupSchedulePolicy.ScheduleRunTimeZone = $timeZone[0].Id

$schedulePolicy.IsDifferentialBackupEnabled = $true
$schedulePolicy.DifferentialBackupSchedulePolicy.ScheduleRunDays[0] = "Wednesday"
$schedulePolicy.DifferentialBackupSchedulePolicy.ScheduleRunTimes[0] = $date.AddHours(1)

$retentionPolicy = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType MSSQL -BackupManagementType AzureWorkload

$retentionPolicy.DifferentialBackupRetentionPolicy.RetentionCount = 15

$retentionPolicy.FullBackupRetentionPolicy.IsDailyScheduleEnabled = $false
$retentionPolicy.FullBackupRetentionPolicy.IsMonthlyScheduleEnabled = $false
$retentionPolicy.FullBackupRetentionPolicy.WeeklySchedule.DurationCountInWeeks = 35
$retentionPolicy.FullBackupRetentionPolicy.YearlySchedule.DurationCountInYears = 2

New-AzRecoveryServicesBackupProtectionPolicy -Name "Tokyo-mssql-policy" -WorkloadType MSSQL -BackupManagementType AzureWorkload -RetentionPolicy $retentionPolicy -SchedulePolicy $schedulePolicy -VaultId $vault.ID

第一個命令會 取得 SchedulePolicyObject,然後將它儲存在$schedulePolicy變數中。 第二個命令區塊會擷取時區和日期時間(當地時間標示為 UTC),並更新$schedulePolicy中的時區和時間。 請注意,日期時間應該一律標示為UTC,因為時區會另外指定。 另請注意,針對其他工作負載類型時區,應在 $schedulePolicy.ScheduleRunTimeZone 屬性中指定。 第三個命令區塊會更新差異排程原則。 然後,我們會取得 RetentionPolicyObject 並更新差異和完整備份保留設定。 最後,我們會根據先前命令所建立的排程和保留原則,建立 BackupProtectionPolicy 物件。

參數

-BackupManagementType

要保護的資源類別。 此參數可接受的值為:

  • AzureVM
  • AzureStorage
  • AzureWorkload
Type:Nullable<T>[BackupManagementType]
Accepted values:AzureVM, AzureStorage, AzureWorkload
Position:3
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-BackupSnapshotResourceGroup

自定義資源組名,以儲存受控虛擬機的立即恢復點。 這是選擇性的

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupSnapshotResourceGroupSuffix

自訂資源組名後綴,以儲存受控虛擬機的立即恢復點。 這是選擇性的

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

執行 Cmdlet 之前先提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MoveToArchiveTier

指定是否應該將恢復點移至原則的封存記憶體。 允許的值是$true,$false

Type:Nullable<T>[Boolean]
Position:6
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定原則的名稱。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RetentionPolicy

指定基底 RetentionPolicy 物件。 您可以使用 Get-AzRecoveryServicesBackupRetentionPolicyObject Cmdlet 來取得 RetentionPolicy 物件。

Type:RetentionPolicyBase
Position:4
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SchedulePolicy

指定基底 SchedulePolicy 物件。 您可以使用 Get-AzRecoveryServicesBackupSchedulePolicyObject Cmdlet 來取得 SchedulePolicy 物件。

Type:SchedulePolicyBase
Position:5
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SnapshotConsistencyType

要用於備份的快照集一致性類型。 如果設定為 OnlyCrashConsistent,則所有相關聯的項目都會有當機一致的快照集。 可能的值為 OnlyCrashConsistent、Default

Type:SnapshotConsistencyType
Accepted values:Default, OnlyCrashConsistent
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TierAfterDuration

指定恢復點應該開始移至封存層的持續時間,值可以是天數或月份。 僅適用於 TieringMode 為 TierAllEligible 時

Type:Nullable<T>[Int32]
Position:8
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TierAfterDurationType

指定 TierAfterDuration 是否為 Days 或 Months

Type:String
Accepted values:Days, Months
Position:9
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TieringMode

指定要將建議的恢復點或所有合格恢復點移至封存

Type:TieringMode
Accepted values:TierRecommended, TierAllEligible
Position:7
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultId

復原服務保存庫的 ARM 識別碼。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WorkloadType

資源的工作負載類型。 此參數可接受的值為:

  • AzureVM
  • AzureFiles
  • MSSQL
Type:WorkloadType
Accepted values:AzureVM, AzureFiles, MSSQL
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

輸入

WorkloadType

Nullable<T>[[Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models.BackupManagementType, Microsoft.Azure.PowerShell.Cmdlets.RecoveryServices.Backup.Models, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]

RetentionPolicyBase

SchedulePolicyBase

String

輸出

PolicyBase