一个数据库备份小脚本,实现指定数据库数据表的定时备份
完整脚本在 database-backup
前言
当然首先是有这个需求才会去想着写这么个脚本来实现。之前使用过阿里的 otter 来做数据同步,当然软件很好用,官方教程也很详细,但是就觉得有时候条件过于“苛刻”,稍一不小心就使得同步中断。且最关键的是我们不需要数据完全每分每秒时时刻刻都要同步,也多是为了在另一个服务器上做一个备份,能看得到某一个时间段的历史数据就行,所以就想着还是怎么轻量怎么合适。综合利弊,还是写个脚本来比较方便。
内容
- 用 MySQL 的
mysqldump
指令去连接数据库,并将数据保存为 SQL 文件到本地。 - 用 MySQL 的
mysql
指令去执行读取保存的 SQL 文件,将其备份还原到本地数据库。 - 用本地压缩软件指令将本地保存的 SQL 文件进行压缩打包保存以便节省空间,同时删除原来未压缩的文件。
- 可以保留指定日期内的压缩 SQL 文件,删除其余。
大致内容就是这些,经过线上实验后可行。
只有一个脚本文件,只需要本地有数据库环境,更改几个配置,双击就能跑起来了。
当然,你还可以让脚本定时执行。
此方式对数据要求不是特别高的可行,还有就是此方式将指定表中所有数据都进行备份,每次相当于覆盖之前的数据,需注意。