New-AzRecoveryServicesBackupProtectionPolicy
建立備份保護原則。
語法
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
類型: | Nullable<T>[BackupManagementType] |
接受的值: | AzureVM, AzureStorage, AzureWorkload |
Position: | 3 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-BackupSnapshotResourceGroup
自定義資源組名,以儲存受控虛擬機的立即恢復點。 這是選擇性的
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-BackupSnapshotResourceGroupSuffix
自訂資源組名後綴,以儲存受控虛擬機的立即恢復點。 這是選擇性的
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MoveToArchiveTier
指定是否應該將恢復點移至原則的封存記憶體。 允許的值是$true,$false
類型: | Nullable<T>[Boolean] |
Position: | 6 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定原則的名稱。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-RetentionPolicy
指定基底 RetentionPolicy 物件。 您可以使用 Get-AzRecoveryServicesBackupRetentionPolicyObject Cmdlet 來取得 RetentionPolicy 物件。
類型: | RetentionPolicyBase |
Position: | 4 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-SchedulePolicy
指定基底 SchedulePolicy 物件。 您可以使用 Get-AzRecoveryServicesBackupSchedulePolicyObject Cmdlet 來取得 SchedulePolicy 物件。
類型: | SchedulePolicyBase |
Position: | 5 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-SnapshotConsistencyType
要用於備份的快照集一致性類型。 如果設定為 OnlyCrashConsistent,則所有相關聯的項目都會有當機一致的快照集。 可能的值為 OnlyCrashConsistent、Default
類型: | SnapshotConsistencyType |
接受的值: | Default, OnlyCrashConsistent |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TierAfterDuration
指定恢復點應該開始移至封存層的持續時間,值可以是天數或月份。 僅適用於 TieringMode 為 TierAllEligible 時
類型: | Nullable<T>[Int32] |
Position: | 8 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TierAfterDurationType
指定 TierAfterDuration 是否為 Days 或 Months
類型: | String |
接受的值: | Days, Months |
Position: | 9 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TieringMode
指定要將建議的恢復點或所有合格恢復點移至封存
類型: | TieringMode |
接受的值: | TierRecommended, TierAllEligible |
Position: | 7 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-VaultId
復原服務保存庫的 ARM 識別碼。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WorkloadType
資源的工作負載類型。 此參數可接受的值為:
- AzureVM
- AzureFiles
- MSSQL
類型: | WorkloadType |
接受的值: | AzureVM, AzureFiles, MSSQL |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
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]]