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任务定时执行该文件即可!

批处理 压缩当前目录下的所有文件夹

for /f "delims=" %%i in ('dir /s /ad /b "."') do D:\programs\7-Zip\7z.exe a %%i.zip %%i -px pause
  • qq503690160
  • qq503690160
  • 2015年04月23日 11:39
  • 442

批处理 复制并压缩文件

@echo on  rem 把源路径赋值给spset sp=D:/JavaWorkSpace/huayu_bbsrem 下面获取当前日期,并调用拷贝过程for /f "tokens=2 delims=...
  • fanfanjin
  • fanfanjin
  • 2011年03月28日 17:15
  • 3222

自动备份原理=任务计划+批处理文件+ORACLE的EXP备份命令(转)

自动备份原理=任务计划+批处理文件+ORACLE的EXP备份命令(转) 自动备份原理=任务计划+批处理文件+ORACLE的EXP备份命令 -----------数据库定...
  • wangcg123
  • wangcg123
  • 2015年02月28日 10:36
  • 1510

bat批处理zip加密压缩

使用批处理加密、压缩文件(压缩当前文件夹内容) cd bin zip -q -r -P 123456 ../www.zip * pause...
  • myfmyfmyfmyf
  • myfmyfmyfmyf
  • 2016年12月29日 10:23
  • 1603

Windows下批处理方式压缩文件夹为tar.gz的方法

还是同样的项目,在文件夹上使用了tar.gz的方式来压缩,然后再上传,考虑到测试的时候有几百个包,手工一个个压缩实在太慢,工具在选择的时候最初选用的好压,研究后发现好压命令行居然不支持gzip的压缩方...
  • ryu2003
  • ryu2003
  • 2016年02月25日 12:56
  • 3198

批处理命令调用WINRAR对文件进行压缩

批处理命令调用WINRAR对文件进行压缩 学习笔记,转自:http://blog.csdn.net/leftfist/article/details/6066273 批处理命令...
  • dyfangdy
  • dyfangdy
  • 2014年12月19日 12:41
  • 9472

编写批处理文件手动启动和关闭Oracle 11g 相关服务

自己写两个批处理文件来手动启动和停止Oracle服务(一直开着服务会比较耗损系统资源,影响系统运行速度) 启动和关闭数据库所使用的服务器名称和说明: 服务名称                 ...
  • shijinupc
  • shijinupc
  • 2012年03月09日 15:41
  • 6354

批处理使用WinRAR压缩某类型的文件,一个文件压缩成一个压缩包,压缩后名称与原文件同名,压缩后删除原文件

@echo off setlocal enabledelayedexpansion rem winrar安装目录,我的在D盘且目录为下 cd D:\Program Files\WinRAR rem 需...
  • shaopeilin_94
  • shaopeilin_94
  • 2017年12月01日 10:43
  • 204

批处理bat文件调用oracle sql文件并传入参数

bat 文件内容: @echo off sqlplus username/password@sid @test.sql 'Smith' sql文件 select * from emp wh...
  • l371890934
  • l371890934
  • 2015年12月02日 00:26
  • 2128

oracle利用批处理文件执行SQL语句,bat连接oracle数据库并执行语句

首先建立一个文本文件,里边写上 Sql代码 sqlplus insp/insp@troy @runSql.sql  然后保存文件,把文件扩展名改为**.bat 然后再再同级目录下创建一个文本文件 在里...
  • sunzuqiang
  • sunzuqiang
  • 2010年05月24日 23:31
  • 4872
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 定期备份 + 压缩 批处理.bat文件
举报原因:
原因补充:

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