由于服务器设置了每天自动进行数据备份,历史备份文件未清理,磁盘空间会被占满,这样会导致无法再次正常备份,给数据带来风险和隐患。所以经常需要我们手动清理掉历史的数据备份文件,仅保留最近N天的数据备份,以腾出磁盘空间。
如何将这种手动删除数据备份文件的重复工作,变为系统自动清理呢?
可以编辑一个bat文件,并放入windows计划任务中自动执行。步骤如下:
1.下载bat文件,下载地址:
http://cn1.metasoft.cn/download/tool/delete_file.rar2.解压至备份目录下,如图
3.编辑bat文件,修改保留最近多少个备份文件。bat中的代码如下:
dir metadb*.bak /O:-D >dir.txt
for /F "skip=95 tokens=4" %%a in (dir.txt) do @if exist %%a del %%a
解释一下这两行代码的意思。
第一行,指的是将本目录下文件名称包含metadb*.bak的所有文件名称,按创建日期倒序排列,并创建存放在dir.txt文本中;
第二行,指的是从dir.txt文件中,从第95行开始,取第4列的文件名称,(说明:如果dir.txt文件中文件名称在第6列,则此处要修改为6),如果存在此文件,依次删除。
dir中显示的内容如图:
即保留95-5=90个备份文件,从第91个历史备份文件,依次删除。如果要保留30个备份文件,则将95修改为30+5=35,即修改为35。
4.设置windows计划任务,每天执行此bat文件。按以下图示步骤:
注意要点:(1)选定bat目录的页面设置中,要设置起始于的目录,如:E:\backup_metasoft\
(2)要选择 不管用户是否登录都要运行(W),并勾选最高权限运行(I)
5.手动测验,并检查是否能执行成功。