在 Windows 上计划删除文件的最快方法

在 Windows 上计划删除文件的最快方法

我有一台 Windows 服务器机器,每天进行每日备份,每次每日备份占用 1.5GB,因此每天晚上我都想删除超过 1 周的备份文件。

我的备份文件的组织方式如下:

backup.20091118.gz.gpg,如您所见,20091118 部分是标识文件日期为 2009/11/18(年,月,日)的部分。

我打算为此编写一个快速批处理脚本并通过任务管理器安排它,这是一个好主意吗?如果是这样,我将非常感激批处理脚本部分的帮助。

此致

答案1

不用担心文件的年龄,首先删除旧备份,直到只剩下 7 个每日备份,然后在进行每次新备份之前担心删除目录中最旧的文件。

使用批处理脚本删除目录中最旧的文件非常容易:

SET BACKUPDIR=C:\PATH\TO\BACKUPS
FOR /F %%i IN ('DIR /B /O-D %BACKUPDIR%') DO SET OLDEST=%%i
DEL %BACKUPDIR%\%OLDEST%

唯一真正的技巧是DIR /B /O-D列出按日期排序的纯文件名的命令,最早的在最后。我们使用循环FOR来捕获OLDEST变量中的每个文件名,因此当循环完成时%OLDEST%将扩展为最旧文件的名称。

答案2

在创建最新备份之前删除最旧的文件。

文件删除很快,比备份~1.5GB快得多,并且备份已经安排好了。

答案3

“最快”的方法??一个建议。从下载 GNU find这里

然后只需创建这样的计划任务:

gnu_find.exe c:\path -type f -iname "backup.*gpg" -mtime +7 -delete

答案4

您可能需要研究更智能、更高效的备份技术,而不仅仅是存档完整快照。OS X 有时光机器它可以进行每小时备份。它只存储更改的文件,因此尽管未压缩,但它非常节省空间。由于一些巧妙的索引,在初始备份后,它比完整快照快得多。而且由于它只存储文件,没有花哨的存档格式,因此从备份中恢复文件就像复制文件一样简单。

Windows 上可能也有类似情况。 希捷复制品精灵时间轴有两种可能性。

相关内容