windows系统:
新建delete.bat文件,写入如下内容
rem 删除D:\dump\BackupDB目录下3天前的文件及文件夹
forfiles /p D:\dump\BackupDB /d -3 /c "cmd /c if @isdir==TRUE (rmdir /q /s @path) else (del /f @path)"
if条件表示:如果是文件夹则采用rmdir删除,如果是文件则用del命令强制删除
.bat文件内容:
rem 备份MongoDB数据
@echo off
D:
cd D:\mongodbserver2\bin
md %date:~0,4%-%date:~5,2%-%date:~8,2%
mongodump -h 192.168.19.12:27011 -d test -o D:\dump\BackupDB\%date:~0,4%-%date:~5,2%-%date:~8,2%
参数列表:
/p pathname 表示开始搜索的路径。默认文件夹是当前工作的目录 (.)。
/m searchmask 根据searchmask指定的搜索通配符来搜索文件。默认搜索掩码是 '*'。
/s 指导 forfiles 递归到子目录。像 "DIR /S"。
/c command 表示为每个匹配到的对象执行的命令。 命令字符串应该用双引号括起来。默认命令是 "cmd /c echo @file"。下列变量可以用在命令字符串中:
@file - 返回文件名(仅文件名)。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展名。
@path - 返回文件的完整路径( 包含文件名)。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。