我有一个Windows 2008服务器备份它的主要驱动器到本地硬盘。
由于此服务器不会经常更改,因此只有在发生有意义的更改时才手动执行此操作。
到目前为止,我已经累积了13个磁盘备份。 考虑到我真的只想要最后2个; 我怎么能清除这些?
更新:只是要清楚,这个问题是关于Windows服务器操作系统; 不是SQL服务器。
我在testing服务器上加载Windows服务器备份以确认,但以下文章应该有所帮助:
对于基于卷影复制的备份,没有直接的方法可以使用wbadmin设置备份的最大大小。 由于Windows Server Backup依靠卷影副本进行版本控制,因此可以使用MAX DIFF AREA Size来控制分配多less空间来存储版本。
而且,旧的备份版本会持续增长,直到所有可用空间用完为止,Windows Server Backup将自动删除旧版本的备份,为新版本留出空间。
您可以在此调整此阈值:音量 – >设置 – >使用限制 – > XXX MB
或者,也可以使用“vssadmin resize”命令行来增加卷影副本的存储量限制。
vssadmin resize shadowstorage /for=<ForVolumeSpec> /on=<OnVolumeSpec> /maxsize=<MaxSizeSpec>
恩。 Vssadmin调整shadowstorage / for = F:/ on = C:/ Maxsize = 900MB
按照date做它很容易从一个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文件。
有一些令人头疼的事情,你可以适应这只保留一定数量的文件。 您必须按照反向date对来自get-childitem的输出进行sorting,并跳过前n个文件。
JR