创建一个txt文件,将下面的脚本放到,这个文件中,然后修改对应的配置,将文件后缀修改为bat.可以双击执行,看是否备份成功。
@echo off
setlocal
:: 配置部分
set MYSQL_USER=root
set MYSQL_PASSWORD=123456
set MYSQL_HOST=localhost
set MYSQL_PORT=3308
set BACKUP_DIR=d:\platform_db_bak
:: 获取当前日期
for /f "tokens=1-4 delims=-/ " %%i in ("%date%") do (
set year=%%i
set month=%%j
set day=%%k
)
set DATE=%year%-%month%-%day%
:: 创建备份目录
mkdir "%BACKUP_DIR%\%DATE%"
:: 数据库列表
set DATABASES=platform rule_engine report_designer
:: 导出并压缩数据库
for %%D in (%DATABASES%) do (
mysqldump -h %MYSQL_HOST% -P %MYSQL_PORT% -u %MYSQL_USER% -p%MYSQL_PASSWORD% %%D > "%BACKUP_DIR%\%DATE%\%%D.sql"
powershell Compress-Archive -Path "%BACKUP_DIR%\%DATE%\%%D.sql" -DestinationPath "%BACKUP_DIR%\%DATE%\%%D.zip"
del "%BACKUP_DIR%\%DATE%\%%D.sql"
)
:: 删除7天前的备份
forfiles /p "%BACKUP_DIR%" /m * /d -7 /c "cmd /c if @isdir==TRUE rd /s /q @path"
endlocal
在windows中搜索:任务计划程序。点击进入,点击创建任务
按照流程填写:
这里选择刚刚的bat文件位置
至此windows的定时任务就创建成功了。
在这里就可以看到刚刚创建的任务了,然后观察后期是否有生成对应的备份文件就好。