내 웹 앱에는 많은 수의 파일과 폴더가 있지만 특정 파일 / 폴더 만 백업 한 다음 Blob Storage에 저장하고 싶습니다. 이 접근 방식은 재해 복구를위한 것입니다.
코드 :
$domain = "Resonate"
$user = "abc"
$pw = "****"
$securepwd = ConvertTo-SecureString $pw -asplaintext -force
$account = $($domain)+"\"+$($user)
$credential = New-Object System.Management.Automation.PSCredential($account,$securepwd)
$username = "`$abc"
$password = "***"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))
$userAgent = "powershell/1.0"
$filePath = "C:\Users\Raj.Negi\Desktop\PowerShell\Web.config"
$apiUrl = "https://abc.scm.azurewebsites.net/api/vfs/site/wwwroot/Web.config"
Invoke-RestMethod -Uri $apiUrl -Credential $credential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -UserAgent $userAgent -Method GET -OutFile $filePath -ContentType "multipart/form-data"
Connect-AzureRmAccount
$acctKey = (Get-AzureRmStorageAccountKey -Name abcdemo -ResourceGroupName abcRG).Value[0]
$storageContext = New-AzureStorageContext -StorageAccountName "abcdemo" -StorageAccountKey $acctKey
Set-AzureStorageBlobContent -File $filePath -Container "abccontainer" -BlobType "Block" -Context $storageContext -Verbose
현재 내 로컬 경로에 하나의 파일을 다운로드 한 다음 azure blob에 업로드합니다. 로컬 경로에 다운로드하지 않고 Blob에 직접 업로드해야합니다. 하나의 파일이거나 전체 폴더 일 수 있습니다.
Microsoft는 콘텐츠를 제외하여 웹 앱의 부분 백업 방법을 제공하지만 큰 응용 프로그램에는 쓸모가 없습니다. 선택한 파일 / 폴더 백업 만 제공하는 것이 좋습니다.
내 경험에 따르면 일부 파일 및 디렉터리를 Azure Blob Storage에 백업하는 간단한 방법은 AzCopy를 사용하는 것이며,이를 Azure WebApp의 Azure Triggered WebJob과 결합하여 요구 사항을 충족 할 수 있습니다.
다음은 D:\home
Azure WebApp에서 Blob Storage로 리소스 를 백업하기 위해 실현하는 단계 입니다.
Access is denied
. 그러나 Windows의 AzCopy v8 은 Kudo 콘솔에서 작동합니다.AzCopy
디렉터리를 업로드합니다 .C:\Program Files (x86)\Microsoft SDKs\Azure
D:\home
test
명령 AzCopy /Source:D:\home\site\test /Dest:https://<account name>.blob.core.windows.net/test /DestKey:<account key> /Pattern:"example.txt"
을 통해 내 컨테이너에 단일 파일을 업로드하려고 시도했지만 D:\home\AzCopy
작동합니다.backup
컨테이너의 가상 디렉터리 에 디렉터리를 업로드하려고했지만 작동합니다.test
D:\home\AzCopy\AzCopy /Source:D:\home\site\test /Dest:https://ppas.blob.core.windows.net/test/backup /DestKey:b7AzhS60+0hgTWGJdaxXT0w4O6hGuoiL0UVwcLJWIwq/w6hJzKwvt9asFdpfx0yif73ghvLe6urLIo8h6CtZnw== /S /Y
그래서 아래 그림과 같이 트리거 된 웹 작업으로 업로드하기 위해 위의 단계와 같이 절대 경로를 사용하여 아래에 명령 줄을 작성 하는 .bat
파일 backup.bat
을 만듭니다 . 또한 동일한 작업을 수행하는 powershell 스크립트를 만들 수 있습니다.
D:\home\AzCopy\AzCopy /Source:D:\home\site\test /Dest:https://<account name>.blob.core.windows.net/test/backup /DestKey:<account key> /Pattern:"example.txt" /Y
D:\home\AzCopy\AzCopy /Source:D:\home\site\test /Dest:https://<account name>.blob.core.windows.net/test/backup /DestKey:<account key> /S /Y
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다