- /Daily_Backup_review/database_s3_check.ps1 - /Daily_Backup_review/Get-StorageContainerContent.ps1 - /Daily_Backup_review/Global_Checks.ps1 - /Daily_Backup_review/list_table_within_databases.ps1 - /Daily_Backup_review/Start-AzureSQLExport.ps1 - /Daily_Backup_review/Start-BackupCheckBpScus.ps1 - /Daily_Backup_review/Start-BackupCheckBpWeu.ps1 - /Daily_Backup_review/Start-BackupCheckRoserAttachments.ps1 - /Daily_Backup_review/Start-BackupCheckRoserCloud.ps1 - /Daily_Backup_review/Start-BackupCheckTotal.ps1 - /Daily_Backup_review/Start-DatabaseExport.ps1 - /Daily_Backup_review/Start-PointInTimeRestore.ps1 - /Daily_Backup_review/list_databases_within_instances.py - /Daily_Citrix_VDA_and_Server_Utilization_review/Cloudwatch_review/cloudwatch_alarm_ap-southeast-2.json - /Daily_Citrix_VDA_and_Server_Utilization_review/Cloudwatch_review/Cloudwatch_review.ps1 - /Ansible/audit-netscaler-exp.yaml - /Ansible/concurrent-user.yaml - /Ansible/do-something.yaml - /Ansible/hello-world.yaml - /Ansible/p6-log-cleanup.yaml - /Ansible/Roser_DB_backup_one_off.yaml - /Ansible/test-sql.yaml - /Ansible/test-sql-double-creds.yaml - /RoserUsefull/access_bulk_servers.ps1 - /RoserUsefull/access_bulk_servers_cezar.ps1 - /RoserUsefull/Bulk_copy_files.ps1 - /RoserUsefull/Besfort_data.ps1 - /RoserUsefull/check_permissions_bulk_servers.ps1 - /RoserUsefull/Check-p6interface-checksum.ps1 - /RoserUsefull/compare_files.ps1 - /RoserUsefull/connections_parser.ps1 - /RoserUsefull/drop_rds_registry_key.ps1 - /RoserUsefull/EmergencyAccessRemote.ps1 - /RoserUsefull/Keycloak_TestConnection.ps1 - /RoserUsefull/Kickoff_disconnected_users.ps1 - /RoserUsefull/launch_jira.ps1 - /RoserUsefull/launch_jira_gui.ps1 - /RoserUsefull/ownership_taker_anonymized.ps1 - /RoserUsefull/purge_files.ps1 - /RoserUsefull/remove_local_profiles_PowerShell.PS1 - /RoserUsefull/retrieve_attachements.ps1 - /RoserUsefull/Send_patch_multiple_servers.ps1 - /RoserUsefull/Test-RSAAPI-BP.ps1 - /RoserUsefull/Linux_identify_big_files.sh
140 lines
6.1 KiB
PowerShell
140 lines
6.1 KiB
PowerShell
|
|
begin {
|
|
$global_parameters = @(
|
|
@{
|
|
name = 'Bp Scus'
|
|
Cloud_provider = 'Azure'
|
|
subscription = 'ac782c49-b833-4ca1-b632-5eb85281cc26'
|
|
ResourceGroupName = 'rg-BP-shared-scus01'
|
|
StorageAccountName = 'roserbpsqlbackupscus'
|
|
StorageContainerName = 'backupcontainer'
|
|
},
|
|
@{
|
|
name = 'Bp Weu'
|
|
Cloud_provider = 'Azure'
|
|
subscription = 'ac782c49-b833-4ca1-b632-5eb85281cc26'
|
|
ResourceGroupName = 'rg-BP-shared-weu01'
|
|
StorageAccountName = 'roserbpsqlbackupweu'
|
|
StorageContainerName = 'backupcontainer'
|
|
},
|
|
@{
|
|
name = 'Total'
|
|
Cloud_provider = 'Azure'
|
|
subscription = '40c3c7b3-1bd7-446b-b6a3-45ac84246fb9'
|
|
ResourceGroupName = 'rg-Tot-resources-weu01'
|
|
StorageAccountName = 'rosertotalbackup'
|
|
StorageContainerName = 'backupcontainer'
|
|
},
|
|
@{
|
|
name = 'RoserCloud'
|
|
Cloud_provider = 'AWS'
|
|
subscription = ''
|
|
ResourceGroupName = 'operations_west-europe'
|
|
StorageAccountName = 'rosercloud-sql-backup'
|
|
StorageContainerName = 'rosercloud-rpsql02'
|
|
}
|
|
)
|
|
|
|
#date variables
|
|
$Today_date = Get-Date -Format "yyyyMMdd"
|
|
$Yesterday_date = (get-Date).AddDays(-1).ToString('yyyyMMdd')
|
|
#clear the screen
|
|
cls
|
|
|
|
#login into AZURE
|
|
#Login-AzAccount | Out-Null
|
|
Connect-AzAccount -TenantId 419c9123-a9c1-4908-9c5f-c2f34cc15973 | Out-Null
|
|
}
|
|
process {
|
|
For ($occurences = 0; $occurences -lt $global_parameters.count; $occurences++) {
|
|
#For ($occurences = 1; $occurences -lt 3; $occurences++) {
|
|
if ($global_parameters[$occurences].Cloud_provider -eq "Azure") {
|
|
Write-Host $global_parameters[$occurences].name -ForegroundColor Green
|
|
$SubscriptionID = $global_parameters[$occurences].subscription
|
|
$ResourceGroupName = $global_parameters[$occurences].ResourceGroupName
|
|
$StorageAccountName = $global_parameters[$occurences].StorageAccountName
|
|
$StorageContainerName = $global_parameters[$occurences].StorageContainerName
|
|
$Blob = '*.bak'
|
|
|
|
|
|
|
|
#verification of SubscriptionID and assign it if required
|
|
if (-not $SubscriptionID) {
|
|
$Subscription = Get-AzSubscription | Out-Gridview -passthru
|
|
}
|
|
else {
|
|
$Subscription = Get-AzSubscription -SubscriptionId $SubscriptionID
|
|
}
|
|
Select-AzSubscription -Subscription $Subscription.SubscriptionId | Out-Null
|
|
|
|
|
|
#verification of ResourceGroupName and assign it if required
|
|
if (-not $ResourceGroupName) {
|
|
$ResourceGroup = Get-AzResourceGroup | Out-Gridview -passthru
|
|
}
|
|
else {
|
|
$ResourceGroup = Get-AzResourceGroup -ResourceGroupName $ResourceGroupName
|
|
}
|
|
|
|
|
|
#verification of StorageAccountName and assign it if required
|
|
if (-not $StorageAccountName ) {
|
|
$StorageAccount = Get-AzStorageAccount -ResourceGroupName $ResourceGroup.ResourceGroupName | Out-GridView -PassThru
|
|
}
|
|
else {
|
|
$StorageAccount = Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName
|
|
}
|
|
$StorageAccountKey = Get-AzStorageAccountKey -Name $Storageaccount.StorageAccountName -ResourceGroupName $ResourceGroup.ResourceGroupName
|
|
$Context = New-AzStorageContext -StorageAccountName $StorageAccount.StorageAccountName -StorageAccountKey $StorageAccountKey[0].Value
|
|
|
|
|
|
#verification of StorageContainerName and assign it if required
|
|
if (-not $StorageContainerName) {
|
|
$StorageContainer = Get-AzStorageContainer -Context $Context | Out-GridView -PassThru
|
|
}
|
|
else {
|
|
$StorageContainer = Get-AzStorageContainer -Context $Context -Name $StorageContainerName
|
|
}
|
|
|
|
|
|
|
|
#start the action of listing
|
|
$ContainerContent = Get-AzStorageBlob -Context $Context -Container $StorageContainer.Name -Blob $blob
|
|
#display ContainerContent
|
|
$ContainerContent | Out-GridView -Title $global_parameters[$occurences].name
|
|
|
|
#determine number of saves for today and yesterday and display them
|
|
$result_today = $ContainerContent | Where-object { ($_.LastModified.DateTime -gt (Get-Date).Date) }
|
|
$result_yesterday = $ContainerContent | Where-object { ($_.LastModified.DateTime -gt (Get-Date).AddDays(-1).Date) -and ($_.LastModified.DateTime -lt (Get-Date).Date) }
|
|
|
|
|
|
Write-Host "number of saves today: "$result_today.count
|
|
Write-Host "number of saves yesterday: "$result_yesterday.count
|
|
}
|
|
elseif ($global_parameters[$occurences].Cloud_provider -eq "AWS") {
|
|
Write-Host $global_parameters[$occurences].name -ForegroundColor Green
|
|
function Number_backups_s3 {
|
|
param(
|
|
[Parameter (Mandatory = $true)] [String]$string_day,
|
|
[Parameter (Mandatory = $true)] [int]$date_wanted
|
|
)
|
|
$prefix = $global_parameters[$occurences].StorageContainerName
|
|
$s3_result = aws s3api list-objects --bucket $global_parameters[$occurences].StorageAccountName --prefix "$prefix/$date_wanted/"
|
|
$s3_result_converted_from_json = $s3_result | ConvertFrom-Json
|
|
|
|
Write-host "number of saves"$string_day$($s3_result_converted_from_json.Contents.count)
|
|
|
|
|
|
}
|
|
Number_backups_s3 -string_day "today: " -date_wanted $Today_date
|
|
Number_backups_s3 -string_day "Yesterday: " -date_wanted $Yesterday_date
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
end {
|
|
|
|
}
|