Windows 上的 VSS 管理

Windows 上的 VSS 管理

我经常使用 Windows 文件服务器上的集成 VSS 功能,让用户可以自行恢复某些文件。当涉及的文件很少时(这是最常见的问题),这也让 IT 团队能够快速完成工作。

例如,我每个工作小时获取一个 VSS(每天 10 个),并保留 4 周(每周 5 个工作日)--> 总计 = 4 周 200 个 VSS

我想使用一些“灵活”的保留策略:
例如,在 3 个工作日内保留每小时一个 VSS,然后在接下来的 7 个工作日内每天保留 4 个 VSS,然后在接下来的 10 个工作日内每天保留 2 个 VSS --> 总共 = 4 周内保留 78 个 VSS

两种情况下 VSS 占用的空间应该差不多。
我的观点不是节省空间。而是延长 VSS 的保留周数。但由于 NTFS 最多可以有 512 个 VSS,因此每小时 VSS 无法持续​​超过 10 周。这是一个巨大的数字。

问题:您认为我应该编写 PowerShell 脚本来管理 VSS 保留策略吗?或者我可以使用已经完成的东西(脚本或软件)吗?

答案1

您可以根据您的需要调整这个简单的脚本:

#This script deletes all shadow copies older than 30 days 
#By Wayne Johnson 

Get-WmiObject Win32_Shadowcopy | ForEach-Object { 

    $WmiSnapShotDate = $_.InstallDate 
    $strShadowID = $_.ID 
    $dtmSnapShotDate = [management.managementDateTimeConverter]::ToDateTime($WmiSnapShotDate)  
    $strClientAccessible = $_.ClientAccessible 
    $dtmCurDate = Get-Date 

    $dtmTimeSpan = New-TimeSpan $dtmSnapShotDate $dtmCurDate  
    $intNumberDays = $dtmTimeSpan.Days 

    If ($intNumberDays -ge 31 -and $strClientAccessible -eq "True") { 
        $_.Delete() 
    }

}

答案2

您应该将实际的离线备份到其他媒体以满足长期数据恢复需求。影子副本非常适合短期、面向用户的恢复,但不会(也不应该)成为您的全部数据保护工具。

相关内容