window定时执行数据库备份

一、新建bat脚本文件backup_db.bat

二、编写脚本

 1 @echo off
 2 
 3 ::备份文件存储路径 
 4 set DIRECTIONPATH=E:\adms_backup_db
 5 if not exist "%DIRECTIONPATH%"       mkdir %DIRECTIONPATH% 
 6 
 7 echo 删除3天前的备份
 8 forfiles /p "%DIRECTIONPATH%" /s /m *.dmp /d -3 /c "cmd /c del @path"
 9 forfiles /p "%DIRECTIONPATH%" /s /m *.log /d -3 /c "cmd /c del @path"
10 forfiles /p "%DIRECTIONPATH%" /s /m *.sql /d -3 /c "cmd /c del @path"
11 set hour=%time:~,2%
12 if "%time:~0,1%"==" " set hour=0%time:~1,1%
13 
14 ::当前时间
15 set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2%
16 17 
18 echo 设置数据库参数
19 ::用户名
20 set USERNAME=root
21 ::密码
22 set PASSWORD=123456
23 ::数据库地址
24 set SIDDISCRIBE=127.0.0.1:1521/orcl
25 set CONDETION=%USERNAME%/%PASSWORD%@%SIDDISCRIBE%
26 
27 echo 设置导出dmp,log文件路径属性名称
28 set DMPFILEPATH=%DIRECTIONPATH%/%USERNAME%_%BACKUPDATE%.dmp
29 set LOGPATH=%DIRECTIONPATH%/%USERNAME%_%BACKUPDATE%.log
30 echo %DMPFILEPATH%
31 echo %LOGPATH%
32 
33 echo 正在备份数据库,请稍等......
34 ::oracle数据库备份命令
35 ::exp userid=%CONDETION% file=%DMPFILEPATH% log=%LOGPATH%
36 ::mysql数据库备份命令
37 mysqldump -u%USERNAME% -p%PASSWORD% world --default-character-set=utf8 --opt -Q -R --skip-lock-tables > %DIRECTIONPATH%/%USERNAME%_%BACKUPDATE%.sql
38 
39 echo 备份完成!
40 ::exit

三、创建任务计划程序

 

 

 

 

 

 

 

 

 

 

 添加在自己的脚本文件

 

 点击下一步,点击完成。

 

 

 四、设置执行批处理脚本的时候不弹出cmd窗口

1、修改数据库备份定时任务的属性

 

2、选择SYSTEM

 

3、确认完成

posted @ 2019-12-25 15:47  craffming  阅读(572)  评论(0编辑  收藏  举报