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、确认完成