oracle 定期备份 + 压缩 批处理.bat文件

转载 2012年03月27日 10:25:04

@echo off
rem  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
rem  ┣----------------------提示:-----------------------------------┫
rem  ┣--该批处理为数据库备份操作文件.-------------------------------┫
rem  ┣--由于sqlserver自带备份策略,无需使用批处理.-------------------┫
rem  ┣--所以对应数据库类型仅包涵oracle,mysql两种.-------------------┫
rem  ┣--存放目录格式如d:\backup\crmnew------------------------------┫
rem  ┣--盘符下一级为总目录的文件夹名例如backup----------------------┫
rem  ┣--二级为使用该数据库的项目名称例如crmnew----------------------┫
rem  ┣--执行环境为windows server 2003-------------------------------┫
rem  ┣--编写者:CWCA-ly-2011-7-25------------------------------------┫
rem  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
rem ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
rem   ----------------------初始设置项----------------------------
rem   设置项目库备份文件总目录-无需手动创建
set   bak_dir=D:\DATA_BACK
rem   选择备份数据所使用的压缩软件
set   compressFile="C:\Program Files\WinRAR\Rar.exe"
rem   设置数据库的类型,目前包含oracle和mysql
set   db_type=oracle
rem   设置登陆目的数据库的标识,oracle为sid,mysql为库名
set   db_name=orcl
rem   设置登陆目的数据库的用户名
set   db_user=xxxx
rem   设置登陆目的数据库的用户密码
set   db_pwd=xxxx
rem   设置备份周期,1为按天备份,7为按周备份,其它数字无效,与任务计划里的运行周期可并存。
set   bak_cycle=1
rem   设置每个备份文件的保留天数,为0则表示不删除历史文件
set   keep_days=30
rem ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
rem ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
rem   ----------------------可选设置项----------------------------
rem   获取当天为星期几
set   pweek=%date:~-1%
rem   设置单个备份文件名-此处按日期命名-例:20110101 -建议不要更改
set   bakfilename=%Date:~0,4%%Date:~5,2%%Date:~8,2%
rem ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
rem ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
rem   ----------------------------------------执行代码区域------------------------------------
if not exist %bak_dir% mkdir %bak_dir%
set   filesuffix=
      if %db_type% equ oracle set filesuffix=dmp
      if %db_type% equ mysql set filesuffix=sql
      if %bak_cycle% equ 7 (
       if %pweek% equ 日 goto backup
       goto end
      )
      if %bak_cycle% equ 1 goto backup
      goto end
      :backup
      if %db_type% equ oracle goto backup_oracle
      if %db_type% equ mysql goto backup_mysql
      goto end
      :backup_oracle
      exp %db_user%/%db_pwd%@%db_name% file=%bak_dir%%bakfilename%.%filesuffix%
      goto compress
      :backup_mysql
      mysqldump -u%db_user% -p%db_pwd% %db_name% > %bak_dir%%bakfilename%.%filesuffix%
      goto compress
      :compress
      %compressFile% a %bak_dir%%bakfilename%.rar %bak_dir%%bakfilename%.*
      goto delete_source
      :delete_source
      del %bak_dir%%bakfilename%.%filesuffix%
      goto delete_history
      :delete_history
      if %keep_days% neq 0 forfiles /p %bak_dir% /d -%keep_days% /c "cmd /c echo deleting @file ... && del /f @path"
      goto end
      :end
set   bak_dir=
set   compressFile=
set   db_type=
set   db_name=
set   db_user=
set   db_pwd=
set   bak_cycle=
set   keep_days=
set   pweek=
set   bakfilename=
set   filesuffix=
rem ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

 

 

注:将以上代码拷贝到.txt文件中,另存为.bat,新建windows任务定时执行该文件即可!

Linux中设置定期备份oracle数据库

原文地址:http://www.cnblogs.com/default/archive/2012/06/26/2563595.html   Linux中设置定期备份oracle数据库 昨天装...

mssql定期备份并压缩存档

mssql有命令行客户端工具,可以通过bat脚本调用命令行工具执行备份命令,这样还可以很方便的调用7z,(win)rar等来自动压缩,比mssql 自带的维护计划灵活多了。“维护计划”好像也可以调用压...
  • oemoon
  • oemoon
  • 2011年10月20日 21:33
  • 1689

MYSQL自动定期备份和恢复工具

  • 2016年04月19日 13:10
  • 1.78MB
  • 下载

【hbase】HBase 定期备份

Author:Pirate Leo myBlog: http://blog.csdn.net/pirateleo/ myEmail: codeevoship@gmail.com 转载...

MYSQL数据库自动定期备份和恢复工具

自动定期备份和恢复mysql数据库。

服务器程序和数据库的定期备份,删除,传输到其他服务器上

1、程序备份与删除 #!/bin/bash DIRFILE=""$(date +%Y%m%d.%H%M)"" myday=`date -d"10 day ago" +"%Y%m%d"` /bi...

sql数据库定期备份并上传ftp脚本

定时同步sql数据库并上传ftp.

SQL 实现定期备份数据库

出自:http://www.cnblogs.com/jx270/archive/2013/03/10/2952568.html --------------------------------...

mysql定期备份4例

1.mysql自动定时备份数据库的最佳方法-支持windows系统 网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作。 我们都知道ms...

远程Linux服务器MySQL数据库定期备份和删除

网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了。 1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接...
  • sqzhao
  • sqzhao
  • 2015年01月05日 13:54
  • 406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 定期备份 + 压缩 批处理.bat文件
举报原因:
原因补充:

(最多只允许输入30个字)