一個數據庫備份小腳本,實現指定數據庫數據表的定時備份
完整腳本在 database-backup
個人博客:DoubleFJ の Blog
前言
當然首先是有這個需求才會去想着寫這麼個腳本來實現。之前使用過阿里的 otter 來做數據同步,當然軟件很好用,官方教程也很詳細,但是就覺得有時候條件過於“苛刻”,稍一不小心就使得同步中斷。且最關鍵的是我們不需要數據完全每分每秒時時刻刻都要同步,也多是爲了在另一個服務器上做一個備份,能看得到某一個時間段的歷史數據就行,所以就想着還是怎麼輕量怎麼合適。綜合利弊,還是寫個腳本來比較方便。
內容
- 用 MySQL 的
mysqldump
指令去連接數據庫,並將數據保存爲 SQL 文件到本地。 - 用 MySQL 的
mysql
指令去執行讀取保存的 SQL 文件,將其備份還原到本地數據庫。 - 用本地壓縮軟件指令將本地保存的 SQL 文件進行壓縮打包保存以便節省空間,同時刪除原來未壓縮的文件。
- 可以保留指定日期內的壓縮 SQL 文件,刪除其餘。
大致內容就是這些,經過線上實驗後可行。
只有一個腳本文件,只需要本地有數據庫環境,更改幾個配置,雙擊就能跑起來了。
當然,你還可以讓腳本定時執行。
此方式對數據要求不是特別高的可行,還有就是此方式將指定表中所有數據都進行備份,每次相當於覆蓋之前的數據,需注意。