Udostępnij za pośrednictwem


New-AzDataProtectionBackupPolicy

Tworzy nowe zasady tworzenia kopii zapasowych w danym magazynie kopii zapasowych

Składnia

New-AzDataProtectionBackupPolicy
   -ResourceGroupName <String>
   -VaultName <String>
   -Name <String>
   -Policy <IBackupPolicy>
   [-SubscriptionId <String>]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Opis

Tworzy nowe zasady tworzenia kopii zapasowych w danym magazynie kopii zapasowych

Przykłady

Przykład 1. Tworzenie zasad domyślnych

$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDisk
New-AzDataProtectionBackupPolicy -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName sarath-rg -VaultName sarath-vault -Name "MyPolicy" -Policy $defaultPol

Name              Type
----              ----
MyPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

To polecenie tworzy domyślne zasady dla typu źródła danych dysku platformy Azure.

Przykład 2. Tworzenie zasad dla usługi AzureDatabaseForPostgreSQL. W tym przykładzie opisano zaawansowane zasady przy użyciu programu PowerShell

$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDatabaseForPostgreSQL
$lifeCycleVault = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 3 -TargetDataStore ArchiveStore -CopyOption CopyOnExpiryOption
$lifeCycleArchive = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore ArchiveStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Default -LifeCycles $lifeCycleVault, $lifeCycleArchive -IsDefault $true
$schDates = @(
(
    (Get-Date -Year 2021 -Month 08 -Day 18 -Hour 10 -Minute 0 -Second 0)
),
(
    (Get-Date -Year 2021 -Month 08 -Day 22 -Hour 10 -Minute 0 -Second 0) 
))

$trigger =  New-AzDataProtectionPolicyTriggerScheduleClientObject -ScheduleDays $schDates -IntervalType Weekly -IntervalCount 1
Edit-AzDataProtectionPolicyTriggerClientObject -Schedule $trigger -Policy $defaultPol   
$lifeCycleVault = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6 -TargetDataStore ArchiveStore -CopyOption CopyOnExpiryOption
$lifeCycleArchive = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore ArchiveStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 12
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Monthly -LifeCycles $lifeCycleVault, $lifeCycleArchive -IsDefault $false
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfMonth
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Monthly -Criteria $tagCriteria
New-AzDataProtectionBackupPolicy -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -Name "newOSSPolicy" -Policy $defaultPol

Name              Type
----              ----
MyPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

Pierwsze polecenie pobiera domyślny szablon zasad dla usługi AzureDatabaseForPostgreSQL. Drugie trzecie polecenia tworzą dwa różne cykle życia kopii zapasowych dla magazynu i magazynu archiwum. Kopia zapasowa pozostaje w magazynie magazynu przez 3 miesiące, a następnie kopiuje je do magazynu Archiwum i pozostaje tam do 6 miesięcy. Czwarte polecenie aktualizuje obiekt zasad przy użyciu utworzonych cykli życia. Piąte, szóste polecenia tworzą niestandardowy obiekt harmonogramu dla zasad kopii zapasowych, dwa razy co tydzień począwszy od $schDates. Siódme polecenie aktualizuje obiekt zasad za pomocą niestandardowego harmonogramu. Ósme, dziewiąte, dziesiąte polecenia aktualizują regułę miesięcznego przechowywania przy użyciu niestandardowych cykli życia. Jedenaście poleceń twelth tworzy kryteria tagu dla zasad miesięcznych. Należy dodać kryteria tagów dla każdej niestandardowej reguły przechowywania (automatycznie dodawanej dla domyślnej reguły przechowywania). Ostatnie polecenie tworzy zasady.

Przykład 3. Tworzenie zasad dla usługi AzureKubernetesService

$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureKubernetesService
$schDate = @(
(
    (Get-Date -Year 2023 -Month 03 -Day 18 -Hour 16 -Minute 0 -Second 0)
))
$trigger =  New-AzDataProtectionPolicyTriggerScheduleClientObject -ScheduleDays $schDate -IntervalType Daily -IntervalCount 1
Edit-AzDataProtectionPolicyTriggerClientObject -Schedule $trigger -Policy $defaultPol
$lifeCycleDaily = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore OperationalStore -SourceRetentionDurationType Days -SourceRetentionDurationCount 8
$lifeCycleWeekly = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore OperationalStore -SourceRetentionDurationType Weeks -SourceRetentionDurationCount 9
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Daily -LifeCycles $lifeCycleDaily -IsDefault $false
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Weekly -LifeCycles $lifeCycleWeekly -IsDefault $false
$tagCriteriaDaily = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfDay
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Daily -Criteria $tagCriteriaDaily
$tagCriteriaWeekly = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfWeek 
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Weekly -Criteria $tagCriteriaWeekly
$newPolicy = New-AzDataProtectionBackupPolicy -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -Name "newAKSPolicy" -Policy $defaultPol -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Name              Type
----              ----
newAKSPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

Pierwsze polecenie pobiera domyślny szablon zasad dla usługi AzureKubernetesService. Drugie, trzecie polecenia tworzą niestandardowy obiekt harmonogramu dla zasad kopii zapasowych Codziennie, począwszy od $schDate. Czwarte polecenie aktualizuje obiekt zasad za pomocą harmonogramu niestandardowego. Piąte, szóste polecenia tworzą dwa cykle życia kopii zapasowej dla codziennych i cotygodniowych punktów odzyskiwania. Siódme, osiem poleceń aktualizuje obiekt zasad przy użyciu utworzonych cykli życia. Następnie utworzymy kryteria tagu FirstOfDay, FirstOfWeek i zaktualizujemy zasady. Ostatnie polecenie tworzy zasady.

Przykład 4. Tworzenie zasad operacyjnych dla usługi AzureBlob

$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureBlob
Edit-AzDataProtectionPolicyTriggerClientObject -Policy $defaultPol -RemoveSchedule
$lifeCycleOperationalTier = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore OperationalStore -SourceRetentionDurationType Days -SourceRetentionDurationCount 30
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Default -LifeCycles $lifeCycleOperationalTier -IsDefault $true -OverwriteLifeCycle $true
$opPolicy = New-AzDataProtectionBackupPolicy -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -Name "operationalPolicyName" -Policy $defaultPol

Name                        Type
----                        ----
operationalPolicyName       Microsoft.DataProtection/backupVaults/backupPolicies

Pierwsze polecenie pobiera domyślny szablon zasad dla usługi AzureBlob. Szablon zasad jest domyślnie magazynowane zasady. Drugie polecenie usuwa harmonogram zasad magazynu, ponieważ tworzymy zasady operacyjne. Trzecie polecenie tworzy cykl życia magazynu operacyjnego przez 30 dni. Czwarte polecenie zastępuje cykl życia magazynu z cyklem życia magazynu operacyjnego. Ostatnie polecenie tworzy zasady magazynu operacyjnego.

Przykład 4. Tworzenie zasad magazynu dla usługi AzureBlob

$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureBlob
$lifeCycleVaultTierWeekly = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Weeks -SourceRetentionDurationCount 4
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Weekly -LifeCycles $lifeCycleVaultTierWeekly -IsDefault $false
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfWeek
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Weekly -Criteria $tagCriteria
$vaultedPolicy = New-AzDataProtectionBackupPolicy -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -Name "vaultedPolicyName" -Policy $defaultPol

Name                        Type
----                        ----
vaultedPolicyName       Microsoft.DataProtection/backupVaults/backupPolicies

Pierwsze polecenie pobiera domyślny szablon zasad magazynu dla usługi AzureBlob. Drugie polecenie definiuje tygodniowy cykl życia w magazynie magazynu. Trzecie polecenie aktualizuje obiekt defaultPol z cotygodniowym cyklem życia. Trzecie i czwarte polecenie definiuje i aktualizuje defaultPol z cotygodniowymi kryteriami tagów. Ostatnie polecenie tworzy zasady magazynu.

Przykład 5. Tworzenie zasad operacyjnych i magazynowanych dla usługi AzureBlob

$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureBlob
$lifeCycleOperationalTier = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore OperationalStore -SourceRetentionDurationType Days -SourceRetentionDurationCount 30
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Default -LifeCycles $lifeCycleOperationalTier -IsDefault $true -OverwriteLifeCycle $false  
$lifeCycleVaultTierWeekly = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Weeks -SourceRetentionDurationCount 7
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Weekly -LifeCycles $lifeCycleVaultTierWeekly -IsDefault $false
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfWeek
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Weekly -Criteria $tagCriteria
$lifeCycleVaultTierMonthly = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 5
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Monthly -LifeCycles $lifeCycleVaultTierMonthly -IsDefault $false
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfMonth
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Monthly -Criteria $tagCriteria
$lifeCycleVaultTierYearly = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Years -SourceRetentionDurationCount 1
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Yearly -LifeCycles $lifeCycleVaultTierYearly -IsDefault $false
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfYear
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Yearly -Criteria $tagCriteria
$scheduleDate = Get-Date
$trigger =  New-AzDataProtectionPolicyTriggerScheduleClientObject -ScheduleDays $scheduleDate -IntervalType Weekly -IntervalCount 1
Edit-AzDataProtectionPolicyTriggerClientObject -Schedule $trigger -Policy $defaultPol
$defaultPol.PolicyRule[0].Trigger.ScheduleRepeatingTimeInterval[0] = "R/2023-05-09T02:30:00+01:00/P1W"
$timeZone = Get-TimeZone -ListAvailable | Where-Object { $_.Id -match "Europe" }
$defaultPol.PolicyRule[0].Trigger.ScheduleTimeZone = $timeZone[0].Id
$operationalVaultedPolicy = New-AzDataProtectionBackupPolicy -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -Name "operationalVaultedPolicyName" -Policy $defaultPol

Name                               Type
----                               ----
operationalVaultedPolicyName       Microsoft.DataProtection/backupVaults/backupPolicies

Pierwsze polecenie pobiera domyślny szablon zasad magazynu dla usługi AzureBlob. Drugie do piętnastego polecenia definiuje i aktualizuje operacje operacyjne, magazynowane co tydzień, co miesiąc, roczny cykl życia i tagcriteria. Następnie zdefiniujemy obiekt wyzwalacza z czasem harmonogramu i strefą czasową, ustawiamy go na 2:30 czasu zachodniego Europy Zachodniej. Ostatnie polecenie tworzy hybrydowe zasady AzureBlob.

Przykład 6. Tworzenie zasad dla elementu AzureDatabaseForPGFlexServer/AzureDatabaseForMySQL

$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDatabaseForPGFlexServer
$lifeCycleVault = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Days -SourceRetentionDurationCount 10
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Default -LifeCycles $lifeCycleVault -IsDefault $true
$lifeCycleVault = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6 
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Monthly -LifeCycles $lifeCycleVault -IsDefault $false
$schDates = @(
(
    (Get-Date -Year 2024 -Month 03 -Day 04 -Hour 09 -Minute 0 -Second 0)
),
(
    (Get-Date -Year 2024 -Month 03 -Day 05 -Hour 09 -Minute 0 -Second 0)
))
$trigger =  New-AzDataProtectionPolicyTriggerScheduleClientObject -ScheduleDays $schDates -IntervalType Weekly -IntervalCount 1
Edit-AzDataProtectionPolicyTriggerClientObject -Schedule $trigger -Policy $defaultPol
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -MonthsOfYear January -DaysOfMonth 1,5,Last
Edit-AzDataProtectionPolicyTagClientObject -Policy $defaultPol -Name Monthly -Criteria $tagCriteria
$pgflexPolicy = New-AzDataProtectionBackupPolicy -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -Name "pgflex-policy" -Policy $defaultPol

Name                               Type
----                               ----
pgflex-policy       Microsoft.DataProtection/backupVaults/backupPolicies

Pierwsze polecenie pobiera domyślny szablon zasad dla serwera AzureDatabaseForPGFlexServer. Te kroki mogą być również używane dla usługi AzureDatabaseForMySQL, tak jak to jest. Drugie do dziesiątego polecenia definiuje i aktualizuje magazynowane codziennie, miesięczny cykl życia i tagcriteria. Następnie zdefiniujemy obiekt wyzwalacza z harmonogramem, ustaw go na cotygodniowy poniedziałek, harmonogram wtorek. Ostatnie polecenie tworzy zasady AzureDatabaseForPGFlexServer.

Parametry

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliases:cf
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Typ:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Policy Name (Nazwa zasad)

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-Policy

Obiekt żądania zasad Do konstruowania, zobacz sekcję UWAGI dla właściwości ZASAD i utwórz tabelę skrótów.

Typ:IBackupPolicy
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Nazwa grupy zasobów

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

Identyfikator subskrypcji

Typ:String
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

Nazwa magazynu

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Typ:SwitchParameter
Aliases:wi
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wyjściowe

IBaseBackupPolicyResource