场景
Windows中通过bat定时执行命令和mysqldump实现数据库备份:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119024990
上面是通过bat和mysqldump将数据库导出到文件。
但是只能导出一个最新的文件。
如果想要将数据库一天导出备份一次,然后保留近一个月的数据库版本备份文件。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
脚本内容:
@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 FilesMySQLMySQL Server 5.6inmysqldump" -h 127.0.0.1 -uroot -p123456 %dataBase%> "D:\dataBak\!FileName!" set FileNameTwo=%dataBaseTwo%_%%i.sql echo !FileNameTwo! "C:Program FilesMySQLMySQL Server 5.6inmysqldump" -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、这里是备份两个数据库的数据,数量可以根据自己需要修改。