linux和unix下面使用shell能够很方便实现,若是windows环境下能够结合计划任务实现linux
exp user/passwd@orcl DIRECT=Y BUFFER=100000 FILE=D:\backup\scdd%date:~0,10% OWNER=('scdd') LOG=D:\backup\data.log shell
forfiles /p "D:\backup" /s /m *.dmp /d -3 /c "cmd /c del @path"windows
说明: oracle
exp命令是oracle提供的dump备份命令,其中的%date:~0,10%是DOS里取日期的命令,例如:C:\Users\qyy>echo %date:~0,10%获得2016-11-30 unix
forfiles是windows的文件查找命令,查找在backup,dmp后缀产生三天的文件,找到后执行删除操做字符串
2.Windows定时任务每日自动执行批处理文件 3.保留最近三天的文件,自动删除之前日期的备份文件cmd
forfiles参数说明: it
/P 但是搜索的路径。在咱们这里就是要在哪一个目录寻找要删除的文件 io
/M 根据搜索掩码搜索文件。默认为*,若是要找备份处dump文件,格式为*.dmp ast
/D 文件修改时间在某个时间以前或者以后。-3 表示3天以前的文件。
/s 包含子目录
/C 表示为每一个文件执行的命令,若是要删除该文件能够为"cmd /c del /F /s /q @file"。其中变量@file表示该文件名 f s q表示强制静默删除能够不用;cmd /c表示执行字符串指定的命令而后终断
其中@file能够返还以下结果,咱们这里用@path
@file - returns the name of the file.
@fname - returns the file name without extension.
@ext - returns only the extension of the file.
@path - returns the full path of the file.
@relpath - returns the relative path of the file.
@isdir - returns "TRUE" if a file type is a directory, and "FALSE" for files. @fsize - returns the size of the file in bytes.
@fdate - returns the last modified date of the file.
@ftime - returns the last modified time of the file