场景
上面是通过bat和mysqldump将数据库导出到文件。
但是只能导出一个最新的文件。
如果想要将数据库一天导出备份一次,然后保留近一个月的数据库版本备份文件。
注:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
脚本内容:
@echo off
setlocal enabledelayedexpansion
::备份数据库名字
set dataBase=fzys
set dataBaseTwo=fzys-nacos
::间隔时间
set INTERVAL=10
:Again
::每7天重置一次
for /l %%i in (1,1,7) do (
echo %date% %time:~0,8%
::文件名
set FileName=%dataBase%_%%i.sql
echo !FileName!
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump" -h 127.0.0.1 -uroot -p123456 %dataBase%> "D:\\dataBak\\!FileName!"
set FileNameTwo=%dataBaseTwo%_%%i.sql
echo !FileNameTwo!
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump" -h 127.0.0.1 -uroot -p123456 %dataBaseTwo%> "D:\\dataBak\\!FileNameTwo!"
timeout %INTERVAL%
)
goto Again
1、注意这里的间隔时间为10秒,保存近7次的记录,如果要一天备份一次,备份一个月的,要将INTERVAL设置为86400,将下面的for循环
的7改为30,这样就会每天备份一次,累计备份30天内的。
2、这里是备份两个数据库的数据,数量可以根据自己需要修改。
标签:bat,set,Windows,备份,echo,MySQL,FileName,数据库 From: https://blog.51cto.com/BADAOLIUMANGQZ/6142059