Windows系統下Oracle天天自動備份

linux和unix下面使用shell能夠很方便實現,若是windows環境下能夠結合計劃任務實現linux

  1. 建立備份目錄d:\backup, 建立批處理命令Bak.bat,編寫備份腳本  

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

相關文章
相關標籤/搜索