恢复N天前的VHD快照

接上篇,我们可以创建、删除快照了,作为备份措施,我们还希望能恢复指定的快照,进而从VHD再将虚拟机创建出来。

本篇文章我们来使用脚本快速恢复N天前的最后一个快照到同存储账号下。

下面是脚本运行截图:



运行脚本时需要注意:

1. 我们需要在提示处输入原VHD文件的完整路径

2. 脚本中可以定义恢复几天前的快照

3. 要恢复到的Container必须已存在

4. 恢复的VHD文件名为:默认前缀加原文件名


好了,下面开始上干货!PowerShell内容如下:

#------------------------------------------------------------------------------    
# User own the risk, otherwise exit.
# 
# Azure PowerShell Version:  3.6.0
#
# Create by Zeno. 
#------------------------------------------------------------------------------  


#登录订阅
#Login-AzureRmAccount -EnvironmentName AzureChinaCloud -Credential $(Get-Credential -UserName admin@xxx.partner.onmschina.cn -Message Login_AzureChinaCloud) |Out-Null


#定义恢复多少天前的快照
$resdays = "10"


#定义要恢复的blob路径
$blobURi = Read-Host -prompt "`n`tPlease input the VHD URi"
$destcontainer = "upload"


$srccontainer = $blobURi.Split("/")[-2]
$blobname = $blobURi.Split("/")[-1]
$destblob = "R" + $(Get-Date).DayOfYear + "-" + $blobname


$storage = Get-AzureRmStorageAccount | Where-Object {$_.StorageAccountName -eq $blobURi.Split("/")[2].Split(".")[0] }
$srccontainer = Get-AzureStorageContainer -Context $storage.Context -Name $blobURi.Split("/")[-2]
$diff = (Get-Date).DayOfYear - $resdays
$snaps = Get-AzureStorageBlob -Context $storage.Context -Container $srccontainer.Name | Where-Object {$_.Name -eq $blobname -and $_.SnapshotTime.DayofYear -eq $diff}


#恢复当天最后一个快照
Start-AzureStorageBlobCopy -Context $storage.Context -CloudBlob $snaps.ICloudBlob[-1] -DestContainer $destcontainer -DestBlob $destblob




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值