删除超过X天的Azure快照

问题描述 投票:2回答:1

我接近我需要但我错过了一些东西,因为快照没有删除。我认为它的日期时间字符串并不是一直都是正确的,所以我在这里寻求一些帮助。这是我目前的PS代码。

rg = 'snapshots'
$snapshotnames = (Get-AzureRmSnapshot -ResourceGroupName $rg).name

foreach($snapname in $snapshotnames)
{
    Get-AzureRmSnapshot -ResourceGroupName $rg  -SnapshotName $snapname |
        ?{($_.TimeCreated).ToString('yyyy-MM-dd') -lt ([datetime]::Today.AddDays(-1).tostring('yyyy-MM-dd'))} |
        remove-azurermsnapshot -force
} 

快照的名称格式如下,代码如下:Testvm --- 2018-09-20

$timestamp = Get-Date -f ---yyyy-MM-dd
$snapshotName = $vmInfo.Name + $timestamp

所以我认为我的问题所在是这一部分

?{($_.TimeCreated).ToString('yyyy-MM-dd') -lt ([datetime]::Today.AddDays(-1).tostring('yyyy-MM-dd'))} | remove-azurermsnapshot -force
azure powershell azure-storage
1个回答
0
投票

尝试下面的命令,示例删除快于10天的快照。

rg = 'snapshots'
$snapshotnames = (Get-AzureRmSnapshot -ResourceGroupName $rg).name

foreach($snapname in $snapshotnames)
{
    Get-AzureRmSnapshot -ResourceGroupName $rg -SnapshotName $snapname | ?{($_.TimeCreated) -lt ([datetime]::UtcNow.AddDays(-10))} | remove-azurermsnapshot -force
}

我的指定测试命令:

Get-AzureRmSnapshot -ResourceGroupName joywebapp -SnapshotName joytestss1 | ?{($_.TimeCreated) -lt ([datetime]::UtcNow.AddDays(-10))} | remove-azurermsnapshot -force

enter image description here

我的快照:

enter image description here

还要检查门户中的日志:

enter image description here

这是一个类似的问题,请参考这个link

© www.soinside.com 2019 - 2024. All rights reserved.