TeamCity Backup по расписанию и копирование в Azure, улучшения сценария REST - PullRequest
0 голосов
/ 08 мая 2020

Я работал над сценарием для запуска резервного копирования TeamCity по расписанию, так как по умолчанию у него нет такой опции, а затем скопировал его в учетную запись хранения Azure.

Этот сценарий работает, но я хочу внести некоторые улучшения.

  1. Я хочу, чтобы Powershell проверял доступность файла резервной копии для загрузки (Test-Path или et c.) На данный момент для этого просто требуется сон на 360 секунд.
  2. Я хочу настроить политику хранения для учетной записи хранения Azure.
#API key for TeamCity as TC parameter
$key = "%key%"

$date = Get-Date -Format "yyyy-MM-dd"

$file = "TeamCity-Backup-$date.zip"

#URI for initialize backup
$uri = "https://teamcity.test.com/app/rest/server/backup?addTimestamp=false&includeConfigs=true&includeDatabase=true&includeBuildLogs=false&fileName=$file"


#URI for downloading backup
$uri1 = "https://teamcity.test.com/get/file/backup/$file"

 $header = @{  "Authorization"="Bearer $key"  }

#Initialize
Invoke-RestMethod -Method Post -Uri $uri -Header $header   

#Wait for backup
sleep -Seconds 360

#
#Need function or method for checking file availibility
#

#Download
Invoke-RestMethod -Method Get -Uri $uri1 -Header $header -OutFile "$file"

#Key to BLOB
$key_storage = "%key_storage%"

#Copy to Azure
azcopy.exe copy $file "https://myblob.blob.core.windows.net/teamcity-backups$key_storage"

#
#Funtion for retention Azure Blob
#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...