* added an enum for the backup behavior
* straightened the backup action selection
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
|
||||||
|
enum backupBehavior{
|
||||||
|
Auto
|
||||||
|
Force
|
||||||
|
Skip
|
||||||
|
}
|
||||||
|
|
||||||
<#
|
<#
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
Push a superset from prodDB to the BAG Azure managed sql instance
|
Push a superset from prodDB to the BAG Azure managed sql instance
|
||||||
@@ -23,18 +30,29 @@ This function will do those operations:
|
|||||||
[string] $supersetToCopy
|
[string] $supersetToCopy
|
||||||
The name of the superset to transfert. for exemple: product_superset
|
The name of the superset to transfert. for exemple: product_superset
|
||||||
|
|
||||||
|
$backupAutoBehavior
|
||||||
|
auto = check age and skip if backup is less than 1 day old, $true to force backup, $false to skip backup
|
||||||
|
|
||||||
.EXAMPLES
|
.EXAMPLES
|
||||||
push-superset -supersetToCopy Artikel_History_Superset
|
push-superset -supersetToCopy Artikel_History_Superset
|
||||||
|
|
||||||
#>
|
#>
|
||||||
function push-superset([string] $supersetToCopy){
|
function push-superset{
|
||||||
|
[CmdletBinding()]
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory=$true)]
|
||||||
|
[string] $supersetToCopy,
|
||||||
|
|
||||||
|
[Parameter(mandatory=$false)]
|
||||||
|
[backupBehavior] $backupAutoBehavior = [backupBehavior]::Auto
|
||||||
|
)
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
$tenantId = "7844775a-a9cc-4c33-a5ae-36dcf6660f45" #Galenica
|
$tenantId = "7844775a-a9cc-4c33-a5ae-36dcf6660f45" #Galenica
|
||||||
$clientId = "d28076dd-2108-4718-802e-cd3c35fd5505" #pcpl-BAGSpezListePrd-DBBackup
|
$clientId = "d28076dd-2108-4718-802e-cd3c35fd5505" #pcpl-BAGSpezListePrd-DBBackup
|
||||||
$skipBackup = "auto" #auto = check age and skip if backup is less than 1 day old, $true to force skip backup, $false to force backup
|
$skipBackup = $false
|
||||||
|
|
||||||
write-info "Starting push of $supersetToCopy to the cloud"
|
Write-Information "Starting push of $supersetToCopy to the cloud"
|
||||||
|
|
||||||
##do not alter below
|
##do not alter below
|
||||||
$serverInstance = "SWMDATASQLPRD01.centralinfra.net"
|
$serverInstance = "SWMDATASQLPRD01.centralinfra.net"
|
||||||
@@ -92,7 +110,7 @@ function push-superset([string] $supersetToCopy){
|
|||||||
|
|
||||||
# Get the blob properties
|
# Get the blob properties
|
||||||
$backupFile = "https://$storageAccountName.blob.core.windows.net/$containerName/$backupFileName"
|
$backupFile = "https://$storageAccountName.blob.core.windows.net/$containerName/$backupFileName"
|
||||||
if($skipBackup -eq "auto")
|
if($backupAutoBehavior -eq [backupBehavior]::Auto)
|
||||||
{
|
{
|
||||||
try{
|
try{
|
||||||
$blob = Get-AzStorageBlob -Container $containerName -Blob $backupFileName -Context $context
|
$blob = Get-AzStorageBlob -Container $containerName -Blob $backupFileName -Context $context
|
||||||
@@ -122,6 +140,15 @@ function push-superset([string] $supersetToCopy){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
if($backupAutoBehavior -eq [backupBehavior]::Force){
|
||||||
|
$skipBackup = $false
|
||||||
|
}
|
||||||
|
|
||||||
|
if($backupAutoBehavior -eq [backupBehavior]::Skip){
|
||||||
|
$skipBackup = $true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Generate the SAS token
|
# Generate the SAS token
|
||||||
$sasToken = New-AzStorageBlobSASToken -Context $context -Container $containerName -Blob $backupFileName -Permission $blobPermissions -ExpiryTime $expiryTime
|
$sasToken = New-AzStorageBlobSASToken -Context $context -Container $containerName -Blob $backupFileName -Permission $blobPermissions -ExpiryTime $expiryTime
|
||||||
@@ -236,6 +263,7 @@ backup product_superset__0 : 00:13:00
|
|||||||
restore product_superset : 00:05:40
|
restore product_superset : 00:05:40
|
||||||
#>
|
#>
|
||||||
|
|
||||||
#push-superset -supersetToCopy sl2007_superset
|
#push-superset -supersetToCopy sl2007_superset -backupAutoBehavior Auto
|
||||||
push-superset -supersetToCopy Artikel_History_Superset
|
push-superset -supersetToCopy Artikel_History_Superset -backupAutoBehavior Auto
|
||||||
#push-superset -supersetToCopy product_superset
|
#push-superset -supersetToCopy product_superset -backupAutoBehavior Auto
|
||||||
|
|
||||||
Reference in New Issue
Block a user