备份策略
备份策略
目录
备份策略
Wavelog 本身使用一些文件以及大量与数据库相关的东西来保存数据。目前 Wavelog 内并没有明确的「备份工具」集成。不过,仍然有一些办法可以在遭遇灾难时保护你的数据安全。
作为用户进行备份
只需时不时导出你的 ADIF 文件。这是你私人日志的核心,因此时常保留一份本地副本总归是个好主意。ADIF 导出可以通过用户菜单(右上角)中的「ADIF 导入/导出」完成。 请记住,ADIF 不包含你的 eQSL 图片,也不包含你扫描的 QSL 图片。目前作为用户没有导出它们的选项。
作为实例所有者进行备份(强烈推荐)
备份整个系统有很多方法。我们将介绍 一种 方案,同时知道它并非 100% 安全。但它应该能满足普通实例的大部分需求。缺点列在下面。
Backupninja
- 在你的系统上安装 backupninja。Debian 的做法:
sudo apt install backupninja
- 配置 Backupninja。只需在
/etc/backup.d/下添加一个名为10-wavelog.mysql的文件,内容如下:请把方括号中的字符串替换为你实例的信息:
databases = [[all] or [name of your wavelog_db]]
backupdir = /var/backups/mysql
hotcopy = no
sqldump = yes
compress = yes
configfile = /etc/mysql/debian.cnf
sqldumpoptions= --skip-lock-tables
dbusername = [root or username for your wavelog-db]
dbpassword = [password for the above user]
- 查看
/etc/backupninja.conf以设置时间等参数。
从此刻起,数据库每晚(或你在 /etc/backupninja.conf 中设置的任意时间)都会被导出到 /var/backups/mysql。这个数据库备份自身是一致的。但如果用户在备份期间上传 QSL 图片,数据库与图片等用户文件就可能不一致。
Duplicity
在此基础上用 duplicity 把文件(包括 QSL 图片/eQSL 图片/数据库导出文件等)备份到你喜欢的任何服务(只要 duplicity 支持),是个好主意。你也可以用 rsync 来做这件事
todo:duplicity 的简短教程,以及如何由 duplicity 触发 backupninja todo:恢复
结论
我用这套方案已经大约 2 年了,从未出过问题。但说实话,它不是「企业级备份」。如果你要用 Wavelog 支撑业务(或者其他非常重要的事情),应当考虑其他备份方式,例如 zfs 快照、LVM 快照或企业级 SAN。由于这实际上与 Wavelog 关系不大、更多属于 Linux 管理范畴,我们不会提供「管理员教程」之类的内容。 是的,我们知道这种策略并不适合所有环境,比如只提供 FTP 访问的「超低价主机」。但正如生活中的常态:如果你想要企业级的感觉,就应该使用 VPS 之类的 root 服务器。