场景
在SpringBoot搭建的项目架构中,为了防止数据库被清库或者误删数据库的情况。
所以需要一个定时将mysql的数据库中的数据进行备份成sql文件,并将重要的sql文件通过邮件服务器的方式
发送到邮箱。
之前介绍过若依前后端分离版本地搭建开发环境并运行项目的教程:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662
这样能快速的搭建一个SpringBoot的项目框架。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
并且上面的项目框架已经将定时任务的功能集成好,所以只需要在定时任务的具体实现中
先将sql文件进行导出,再将其压缩成zip包,然后通过邮件服务器将部分zip发动到指定邮箱。
Java中使用mysqldump实现mysql数据库备份并将sql文件打成zip压缩包:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/111634239
这里选择的是使用mysqldump的方式将数据库导出为sql
具体可以根据自己的需求选择要导出的数据库、表以及导出表结构还是数据还是符合条件的数据。
具体可以自行搜索mysqldump命令。
这样就可以将数据库备份到服务器上的某路径下
然后这里压缩成zip也是将单个sql文件进行压缩,如果系统中的表比较多
并且导出的要求不一样,可以将每一个表都导出为一个sql,然后存进目录,对目录进行压缩。
因为有的表存放的都是些记录数据等一些没用的历史数据。
所以发送邮件时需要选择部分有用的sql的zip以附件的方式发送到指定邮箱。
SpringBoot中整合Mail实现发送带附件的邮件:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89321037
可以参考上面发送附件的邮件的方式。