1、需求产生的场景
SpringBoot项目部署在win10服务器上,数据库中病毒了,其中只剩一个warn表,提示“您需要支付0.04比特币(BTC)才能恢复数据库”。
怎么预防数据库中招以后再说,这次的思路是即使中招了也要将数据损失降到最低,于是自然想到每天备份数据库,当然最好是定时自动备份。
2、实现思路
使用bat批处理命令进行数据库的备份。使用windows系统工具中的任务计划程序实现定时执行批处理命令。
3、bat批处理命令 autoSaveDb.bat
rem *******************************Code Start*****************************
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:\Database\MySQLServer8.0.16\bin\mysqldump --opt -u root --password=123456 network_marketing_db > D:\note\autoSaveDb\networkMarketing\network_marketing_db_%Ymd%.sql
@echo on
rem *******************************Code End*****************************
autoSaveDb.bat文件中需修改部分说明:
- D:\Database\MySQLServer8.0.16\bin\mysqldump 指的是安装的mysql的mysqldump命令路径;
- -u root --password=123456 指的是数据库的账号密码
- network_marketing_db 指的是要备份的数据库名称
- D:\note\autoSaveDb\networkMarketing\network_marketing_db_%Ymd%.sql 指的是备份生成的sql脚本文件的存储路径及文件名,文件名可以做到按日期生成。
- 注意:路径都要使用英文,否则会提示找不到路径。路径也不能有空格,否则会出错,若mysql安装路径确实有空格,可使用相对路径。使用相对路径后定时执行时若还是提示找不到路径,可配置环境变量解决。
4、定时执行bat批处理命令
-
右击windows开始图标=> 搜索=> 输入 任务计划程序,点击进入。若找不到,就到开始菜单的windows 管理工具中去找。
-
进入任务计划程序=> 任务计划程序库=> Microsoft=> Windows ,点击右侧 创建任务… ,弹出创建任务对话框如下图。
-
常规选项卡中设置任务名称;触发器选项卡中点击新建…设置任务执行周期及时间;操作选项卡中点击新建…设置程序或脚本的文件位置;最后点击确定即可。