windows系统下mysql和oracle数据库自动备份

实现的功能:

每天定时自动备份,这里做的是完全备份
同时拷贝到其他电脑的共享目录
删除本地过期文件,只保留最新的几个

bat脚本需要加入到windows系统的任务计划任务里

oracle备份bat脚本代码如下:

@echo off
echo ==========================================
echo.  oracle数据库备份
echo. 
echo   %date%
echo   %time%
echo ==========================================
:: oracle信息,bin目录、数据库用户名、密码
set oraclepath=D:\app\Administrator\product\11.1.0\db_1\BIN
set username=name
set password=pwd
::设置备份文件名字
set backupname=ycqx%date:~0,4%%date:~5,2%%date:~8,2%
::设置备份路径、日志路径
set backuppath=D:\backup\db\
set logpath=D:\backup\log\xxx.log
echo. 开始备份,请勿关闭窗口
"%oraclepath%\exp.exe" %username%/%password%@orcl file=%backuppath%%backupname%.dmp log=%logpath%
echo. 备份完成
::拷贝文件到其他电脑
net use  \\10.10.10.10 "password" /user:"username"
xcopy  "%backuppath%%backupname%" \10.10.10.10\backup\  /s/y 
::保留最新3个文件,其他的删除
for /f "skip=3" %%i in ('dir D:\backup\db\*.* /tc /o-d /b /s') do del %%i
echo.

mysql备份bat脚本代码如下:

@echo off
echo.
echo.----------------------------------------------------------
echo.    mysql自动备份
echo.
echo.    
echo. %date%
echo. %time%
echo.-----------------------------------------------------------
echo.
echo.
:: mysql信息,安装bin目录,用户名密码,数据库名字,备份名字
set mysqldump=C:\Program Files\MySQL\MySQL Server 5.7\bin
set username=root
set password=pws
set database=smartapp
set backupname=%database%%date:~0,4%%date:~5,2%%date:~8,2%.sql
echo.
echo.
echo.备份中,请勿关闭窗口
"%mysqldump%\mysqldump.exe" -u%username% -p%password% %database%  --default-character-set=utf8 > "F:\backup\mysql\%backupname%"
echo. 
echo.备份完成
::拷贝文件到其他服务器
net use  \\10.10.10.10 "pwd" /user:"username"
xcopy  "F:\backup\mysql\%backupname%" \\10.10.10.10\backup\  /s/y 
::保留最新5个文件,其他的删除
for /f "skip=5" %i in ('dir F:\backup\mysql\*.* /tc /o-d /b /s') do del %i
echo.

oracle还原备份

在cmd使用imp命令

imp root/pwd file= log= full=y ignore=y

mysql还原备份

第一步 打开cmd进入mysql安装路径

cd C:\Program Files\MySQL\MySQL Server 5.7\bin

第二步 执行恢复操作

mysql -hlocalhost -uroot -ppwd --default-character-set=utf8 db_name < E:\backup\backup\db20200415.sql

你可能感兴趣的:(windows系统下mysql和oracle数据库自动备份)