@title MySQL backup start @echo off setlocal enabledelayedexpansion @color 0a :: --------------------参数设置------------------------ :: 设置时间变量 set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" :: 要备份的数据库名称,多个用空格分隔 set DATABASES=database1 database2 :: HOST IP set HOST=127.0.0.1 :: PROT 端口 set PROT=3306 :: MySQL 用户名 set USERNAME=root :: MySQL 密码 set PASSWORD=123456 :: MySQL Bin 目录,加 :: 如果可以直接使用 mysqldump(安装时添加 MySQL Bin 目录到了环境变量),此处留空即可 D:Javamysqlin set MYSQL= :: WinRAR 自带命令行工具的可执行文件路径,长文件名注意用 Dos 长文件名书写方式 set WINRAR=C:Progra~1WinRARRar.exe :: 备份天数 set DT=30 :: 备份放置的盘,加 set BACKUP_PATH=D: :: 备份放置的路径,加 set FILE=Backup :: --------------------开始备份------------------------ for %%D in (%DATABASES%) do ( if exist %BACKUP_PATH%%FILE%%%D ( echo 目录%BACKUP_PATH%%FILE%%%D已存在,无需创建 ) else ( echo 创建%BACKUP_PATH%%FILE%%%D md %BACKUP_PATH%%FILE%%%D ) :: 删除 forfiles /p "%BACKUP_PATH%%FILE%%%D" /m %%D_*.sql -d -%DT% /c "cmd /c del /f @path" cd %MYSQL% :: 备份 mysqldump --opt --single-transaction=TRUE --user=%USERNAME% --password=%PASSWORD% --host=%HOST% --protocol=tcp --port=%PROT% --default-character-set=utf8 --single-transaction=TRUE --routines --events "%%D" > %BACKUP_PATH%%FILE%%%D\%%D_%Ymd%.sql ) :: --------------------结束备份------------------------ @echo on
新建一个批处理文件,如:mysql_backup_tool.bat,文件内容如上:
创建Windows计划任务
开始菜单找到任务计划程序并打开。
创建任务
新建触发器
新建操作
运行任务即可。