場景
在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
可以參考上面發送附件的郵件的方式。