如何清理 Windows Server 2008 备份

如何清理 Windows Server 2008 备份

我有一台 Windows 2008 服务器,正在将其主驱动器备份到本地硬盘。

因为这个服务器不经常更改,所以只有当发生有价值的更改时我才会手动执行它。

到目前为止,我已经在磁盘上积累了 13 个备份。考虑到我真的只想要最后 2 个;我该如何清除它们?

更新: 需要明确的是,这个问题是关于 Windows 服务器操作系统;而不是 SQL 服务器。

答案1

我正在测试服务器上加载 Windows Server Backup 以进行确认,但以下帖子应该有所帮助:

http://social.technet.microsoft.com/Forums/en-US/windowsbackup/thread/d5302218-91ce-4f02-9fba-9c91e9027f69

对于基于卷影副本的备份,没有直接的方法使用 wbadmin 设置备份的最大大小。由于 Windows Server Backup 依赖卷影副本进行版本控制,因此您可以使用 MAX DIFF AREA Size 来控制分配多少空间用于存储版本。

此外,旧的备份版本会不断增长,直到所有可用空间都用完,Windows Server Backup 将自动删除旧版本备份,为新版本备份腾出空间。

您可以在此处调整此阈值:音量->设置->使用限制->XXX MB

或者,您也可以使用“vssadmin resize”命令行来增加卷影副本的存储量限制。

vssadmin resize shadowstorage /for=<ForVolumeSpec> /on=<OnVolumeSpec> /maxsize=<MaxSizeSpec>

例如 Vssadmin resize shadowstorage /for=F: /on=C: /Maxsize=900MB

答案2

使用 Powershell 脚本按日期执行此操作很容易,例如

$Days = 30
$TargetFolder = "D:\temp"

$Now = Get-Date
$LastWrite = $Now.AddDays(-$Days)
$Files = get-childitem $TargetFolder -include *.bkf | Where {$_.LastWriteTime -le "$LastWrite"}

foreach ($File in $Files)
{ write-host "Deleting File $File" -foregroundcolor "Red";
  Remove-Item $File
}

这将删除文件夹 D:\temp 中所有超过 30 天的 *.bkf 文件。

经过一番思考,您可以调整此方法以仅保留一定数量的文件。您必须按日期倒序对 get-childitem 的输出进行排序,并跳过前 n 个文件。

JR

相关内容