Windows 下通过计划任务执行数据库备份脚本

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

在Linux下可以通过crontab来设置定时执行数据库的备份脚本,同样Windows下可以通过设定任务计划程序来设定要执行的自动备份脚本。具体的设定过程不再详述,下面分别为Oracle和MySQL的备份脚本:

1.Windows 下Oracle的备份脚本:
@echo off
echo  数据库开始进行备份...
cd e:\ORACLE\BIN
set filename=%e:\backup_bat\local%date:~0,10%
exp giftsdev/giftsdev@local file=%filename%.dmp log=%filename%.log owner=giftsdev compress=y grants=y indexes=y constraints=y
jar cvf %filename%.jar %filename%.*
del %filename%.dmp
del %filename%.log
copy %filename%.jar e:\exp_data\local%date:~0,10%.jar
del %filename%.jar
echo  数据库备份完成
echo.& pause
 
 
2.Windows 下MySQL的备份脚本
echo  数据库开始备份...
 
set dirname=bak%date:~0,4%%date:~5,2%
 
set filename=tdoa-%nowdate%.rar
 
mysqldump -uroot -pmyoa888 td_oa > td_oa.sql
::E:\MYOA\mysql\bin\mysqldump.exe -uroot -pmyoa888 td_oa > td_oa.sql
 
rar a %filename% td_oa.sql
::%windir%\System32\WinRAR.exe a %filename% td_oa.sql
move %filename% F:\OA_BACKUP\%dirname%
del td_oa.sql
 
echo  数据库备份完成!
echo.& pause
 
备份过程中遇到的问题:
(1)     创建文件夹失败。在windows 2008 下,默认的日期格式为类似 2010/12/27 的样式,在根据日期创建文件夹或者文件时由于windows 不允许有“/ ”特殊字符的存在,故报创建错误。这里使用“set nowdate=%date:~0,4%%date:~5,2%%date:~8,2% ”分别取得年、月、日拼凑的形式变相实现。
(2)     环境变量问题。在写完上述脚本后,双击bat 文件可以无误顺利的执行,但是扔到计划任务执行时就总是报错,具体为rar 和mysqldump 命令不存在。我怀疑是环境变量的设置没有生效,由于在服务器上不能轻易的执行服务器的重启,这里用rar 和mysqldump 的完整路径来代替(代码中的红色字体)
 
 
附:常见dos命令
1.dos 下的复制和移动
c 盘下的a.txt 文件复制或移动到d
命令为:
复制copy c:\a.txt d:\a.txt
移动move c:\a.txt d:\a.txt
 
2.dos 下的条件判断
if not exist F:\OA_BACKUP\%dirname% md F:\OA_BACKUP\%dirname%
(判断目录是否存在)
 
3.dos 下的目录创建和删除
MD—— 建立子目录
RD—— 删除子目录
 
4.  关于%DATE:~4,10% 的格式
这个命令的意思就是在DATE 的输出中,取4-10 中间的字符。
对于不同的机器,可能有不同的时间格式,这个可以在控制面板里设置。
可以通过ECHO 命令察看当前设置,如:
C:>echo %DATE%
星期一 2002-10-28
当然,我们可以同样取到星期的值:
C:>echo %DATE:~0,3%
星期一
当然也可以从不同方向来:
C:>echo %DATE:~-10%
2002-10-28
C:>echo %DATE:~0,-10%
星期一
 
5. rar 命令解压缩文件前要进行的操作:
1 〉将winRAR.exe 文件拷贝到system32 文件夹下;
2 〉将winRAR 的安装路径放到环境变量中
rar 打包文件:
rar a %filename%.rar %filename%.*
rar 解压缩文件
rar e %filename%.rar
 
6. 用jar 打包解压文件必须在当前系统中装有jre 环境
jar 打包文件:
jar cvf %filename%.jar %filwname%.*
jar 解压缩文件:
jar xvf %filename%.jar
 

本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/465599

相关文章
|
1月前
|
数据库 数据安全/隐私保护 Python
写一个定时备份数据库的脚本,且只保留最近3天
写一个定时备份数据库的脚本,且只保留最近3天
55 3
|
1月前
|
关系型数据库 MySQL 数据库
Windows安装MySQL数据库
本文介绍如何在Windows安装MySQL数据库。
37 0
|
2月前
|
存储 SQL 关系型数据库
Windows server 2016——SQL server 数据库和表的管理
Windows server 2016——SQL server 数据库和表的管理
42 0
|
12天前
|
NoSQL 关系型数据库 MySQL
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
不同系统下进行MySQL安装、MongoDB安装、Redis安装
56 5
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
|
22天前
|
存储 JSON NoSQL
【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
【1月更文挑战第26天】【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
|
1月前
|
存储 NoSQL MongoDB
第4期 MongoDB数据库安装与启动(Windows)
第4期 MongoDB数据库安装与启动(Windows)
64 0
|
1月前
|
Java 数据库 Android开发
基于JavaWeb企业电子商城(源码+数据库脚本+项目讲解)
基于JavaWeb企业电子商城(源码+数据库脚本+项目讲解)
|
1月前
|
Java 数据库 开发工具
java Swing学生成绩管理系统【项目源码+数据库脚本】
java Swing学生成绩管理系统【项目源码+数据库脚本】
|
1月前
|
前端开发 Java 数据管理
javaWeb基于SSM框架开发的社区医疗数据管理系统【项目源码+数据库脚本+报告】
javaWeb基于SSM框架开发的社区医疗数据管理系统【项目源码+数据库脚本+报告】
|
1月前
|
Java 关系型数据库 MySQL
基于java Swing开发的学生成绩管理系统【项目源码+数据库脚本】
基于java Swing开发的学生成绩管理系统【项目源码+数据库脚本】