syz 的笔记

· 自建服务 · syz

小服务的备份,要从恢复开始检查

我以前会盯着备份目录的大小看,文件每天都在增长,就觉得没问题。后来在另一台机器上恢复一个小工具,才发现数据库在,上传的附件却没备份,配置文件里还写着旧机器的绝对路径。

先写一张恢复清单

对一个带数据库的小服务,我现在至少列出四项:程序版本、配置、数据库和用户上传的文件。程序通常能重新下载,但版本号要记下来;配置中的口令不放进公开仓库,和数据一起保存在限制访问的备份位置。

SQLite 服务运行时,如果使用 WAL 模式,直接复制主数据库文件可能漏掉还在 WAL 中的数据。可以使用 SQLite 的备份接口,或在维护窗口停止写入后再复制。不要把“复制到了文件”当成“复制到了完整数据库”。

恢复演练用空目录

我会建一个新目录,把备份解开,按记录的版本启动程序,再检查几条最近的数据和一张附件。测试服务只监听本机地址,避免和正在使用的服务抢端口。能打开首页还不够,也要试一次写入。

让失败足够明显

备份脚本中途出错就应返回非零。上传失败时,不要继续删除本地最后一份可用备份。我保留近期每日副本和较少的月度副本,但会先确认新的副本可读,再清理旧文件。

这些步骤不复杂,真正容易遗漏的是定期做一次。我的做法是在每次大版本升级前恢复一遍,顺便检查那份恢复笔记是否还写得明白。

← 回到文章列表