大马小杨记账下载价格与服务在线手册 · 简体中文

备份恢复与升级

需要备份什么

附件内容不在SQL数据库中。只备份数据库会留下无法下载的附件记录;只备份附件也无法还原账目。

SQLite

短暂停止应用后一起备份数据库和附件,是最直观的一致性备份方式。软件自带的 snapshot 命令可以生成数据库一致性副本,不需要 Python 或额外备份脚本。快照不包含附件、配置和授权文件,这些内容需要一并保存。

以下示例在解压后的软件目录执行。先停止应用写入,将数据库及附件路径换成实际配置。备份目录应位于独立、受限的备份存储;目标快照文件不能已经存在。

umask 077
mkdir /mnt/customer-backups/backup-20261105-001
DB_DRIVER=sqlite DB_DSN=/var/lib/ilitebook/ilitebook.db \
  SNAPSHOT_PATH=/mnt/customer-backups/backup-20261105-001/database.db ./ilitebook-private snapshot
tar -czf /mnt/customer-backups/backup-20261105-001/attachments.tar.gz -C /var/lib/ilitebook attachments
# 同时保存私有配置、授权文件和对应软件版本;完成后再启动应用

备份含有私有账目与附件,应使用加密的备份存储并限制访问。快照命令不会自动加密或清理历史备份,保留周期及定时执行由安装人员按需配置。

MySQL 与 PostgreSQL

使用数据库原生备份工具,附件备份期间停止应用写入。以下为本机示例,远程连接按实际地址配置,不要把密码写进公开命令记录。

mysqldump --single-transaction -h 127.0.0.1 -u BACKUP_USER -p DATABASE > database.sql
pg_dump -h 127.0.0.1 -U BACKUP_USER -Fc DATABASE > database.dump
# 停止写入后同时备份附件目录
tar -czf attachments.tar.gz data/attachments

恢复验证

  1. 在独立位置准备数据库和附件,避免覆盖现有数据。
  2. 使用匹配的软件版本和配置指向恢复环境。
  3. 核对账本、流水数量、各类金额、转账和附件下载。
  4. 确认后再安排正式切换,保留原环境以便回退。

升级

升级前备份,停止旧程序,更新可执行文件与随包资源,再启动验证。当前项目开发阶段直接更新数据结构,不承诺旧测试数据库自动迁移;遇到结构不兼容时应使用匹配版本或全新测试库,不能删除真实账目强行初始化。

放大的操作截图