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