小型站点做备份,不只是把数据库文件拷走

小站点最容易犯的错,是把备份理解成“把 sqlite 文件复制一份”。真到恢复的时候才会发现,文章附件、上传目录、环境变量和定时任务状态都没跟上。

我后来给自己定了一个很简单的标准:一份备份如果不能在另一台机器上完整拉起站点,它就不算完整。

现在会一起保留的部分

  • 数据库文件和最近一次手动快照
  • 上传目录,包括文章附件和聊天文件
  • .env 这类运行配置
  • 一份恢复顺序说明,哪一步先做,哪一步后做
sqlite3 data/blog.db ".backup data/backups/nightly.sqlite"
tar -czf uploads-backup.tar.gz uploads
cp .env data/backups/env.snapshot

上面这些命令没什么新鲜的,真正省事的是恢复时不用靠记忆去猜。文件在哪,先还原什么,启动后看哪个健康检查,一目了然。

备份最怕什么

不是没做,而是以为自己做了。真想放心,还是得偶尔挑一份备份出来,按恢复流程走一遍。