我目前正在使用 VMware 5.1,正在寻找一种方法来防止用户创建的快照变得太旧。VMware 中是否有任何工具允许您管理快照(或者可能有一种方法可以编写脚本)?
理想情况下,我希望自动删除所有超过一个月的快照。
答案1
您可以使用 powercli 轻松完成此操作,因为有一个“remove-shapshot”cmdlet:
$oneMonthAgo = (Get-Date).AddDays(-30)
Get-VM | Foreach-Object {
Get-Snapshot -VM $_ | Foreach-Object {
if($_.Created -lt $oneMonthAgo) {
Remove-Snapshot $_ -Confirm -WhatIf
}}}
我把-Confirm
和-WhatIf
放在那里是因为Remove-Snapshot
可能会造成很大的损害——在取出这些参数之前,你要确保它瞄准正确的快照。
答案2
$oneMonthAgo = (Get-Date).AddDays(-30)
Get-VM | Foreach-Object {
Get-Snapshot -VM $_ | Foreach-Object {
if($_.Created -lt $oneMonthAgo) {
Remove-Snapshot $_ -Confirm:$false
}}}
我猜上面的脚本可以,是的,将其添加到任务计划程序中,这仍然会简化工作。建议删除 3 天前的快照。