Удалить все снимки старше 30 дней
В настоящее время я использую VMware 5.1 и ищу способ, чтобы сохранить снимки, которые пользователи создают, от старости. Есть ли в VMware какой-либо инструмент, позволяющий вам управлять моментальными снимками (или, возможно, метод для сценария этого)?
В идеале я хотел бы удалить любые снимки, которые становятся старше месяца автоматически.
2 ответа
Вы можете легко сделать это с помощью powercli, так как есть командлет remove-shapshot:
$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
потенциально может нанести большой урон - вы должны убедиться, что он нацелен на правильные снимки, прежде чем убирать эти параметры.
$oneMonthAgo = (Get-Date).AddDays(-30)
Get-VM | Foreach-Object {
Get-Snapshot -VM $_ | Foreach-Object {
if($_.Created -lt $oneMonthAgo) {
Remove-Snapshot $_ -Confirm:$false
}}}
Я предполагаю, что приведенный выше скрипт подойдет и да, добавит его в планировщик задач, что все еще облегчит работу. Рекомендую удалить снимки, которым 3 дня.