你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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>]
说明
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,默认值
类型: | SnapshotConsistencyType |
接受的值: | Default, OnlyCrashConsistent |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TierAfterDuration
指定恢复点开始移动到存档层之后的持续时间,值可以是几天或几个月。 仅适用于 TieringMode 为 TierAllEligible
类型: | Nullable<T>[Int32] |
Position: | 8 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TierAfterDurationType
指定 TierAfterDuration 是天数还是月份
类型: | String |
接受的值: | Days, Months |
Position: | 9 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TieringMode
指定是将推荐恢复点还是所有符合条件的恢复点移动到存档
类型: | TieringMode |
接受的值: | TierRecommended, TierAllEligible |
Position: | 7 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-VaultId
恢复服务保管库的 ARM ID。
类型: | 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]]