备份恢复
系统每天自动备份本地数据库, 保留最近 30 份; 换电脑、电脑坏了、误删了一片数据, 都靠这里救回来。
备份策略: 每天自动一次, 本地保留 30 份
软件装好后, 备份就在后台自己跑, 不用管。规则很简单:
| 项目 | 规则 |
|---|---|
| 触发时机 | 软件启动时先检查一次, 之后每小时检查一次; 当天还没有自动备份就补一份, 已有就跳过 |
| 保留份数 | 最近 30 份自动备份, 超出的最旧那份自动删掉(手动备份不受这个数量限制, 不会被自动清理) |
| 命名规则 | 系统自动备份: auto-YYYYMMDD-HHmmss.db;手动备份及还原前的安全备份: manual-YYYYMMDD-HHmmss.db |
| 触发条件 | 主机当时必须开机且软件在跑, 否则当天跳过, 等下次开机再补 |
左侧菜单进入"备份恢复", 下方是一张备份列表。每一行显示备份文件名、类型(自动/手动)、大小、备份时间, 行尾有"下载""恢复""删除"三个按钮。
如果连续几天电脑没开, 备份就这几天没有。建议把主机设成不关机, 或者在重要操作前手动点一下"立即备份"。
备份文件存放路径, 也可以自己改
所有备份文件都放在主机本地, 不上传任何外网。默认路径:
| 类型 | 路径 |
|---|---|
| 当前数据库 | D:\乡村管理系统\data\data.db(没 D 盘则在 %APPDATA%\cn.village.admin\data\data.db) |
| 自动/手动备份目录 | D:\乡村管理系统\data\backups\(没 D 盘则在 %APPDATA%\cn.village.admin\data\backups\) |
| 业务文件目录(资料/证明模板/报表模板/聊天附件等, 共 6 个子目录) | D:\乡村管理系统\data\ 下的 files\、cert_templates\、templates\、chat-files\、branding\、app_icons\(没 D 盘则在 %APPDATA%\cn.village.admin\data\ 下); 具体每个目录装的是什么, 见下面"备份是否包含资料文件/模板等"一节 |
程序默认装在 D:\乡村管理系统\, 数据就跟着装在同目录的 data\ 下; 如果机器没有 D 盘, 安装时会回落到 C:\Program Files\乡村管理系统\, 数据相应地落在 %APPDATA%\cn.village.admin\data\。把上面的路径粘到资源管理器地址栏回车就能直接打开(备份恢复页面本身没有"打开备份目录"这个按钮, 需要手动粘路径)。
不想用默认路径也可以改: 备份恢复页面最上方"数据存储位置"卡片, 点更改位置, 填一个新的文件夹完整路径(建议 D 盘等非系统盘, 不能选 C:\Program Files 下的目录), 点"开始迁移"后系统会把数据库、登录配置、全部历史备份完整复制过去, 旧位置的数据原样保留作为保险; 迁移完成后需要关闭程序重新打开才生效。这个设置只需要在装有本程序的主机上做一次。
手动立即备份(应急前)
遇到这几种情况, 一定先手动备份一次再操作:
- 准备大批量导入数据 (一次几千条)
- 准备批量编辑或批量删除
- 准备删除/重命名一个模块的字段
- 准备升级软件版本
- 进入页面左侧菜单点"备份恢复"
- 点立即备份工具栏绿色按钮"立即备份"
- 等几秒提示"备份完成", 列表第一行会出现一份新的, 类型标记为"手动"
整个过程一般 1-3 秒结束, 数据再多也不会超过 10 秒。
删除单份备份文件
备份攒多了想清掉某一份(比如确认某次演练用的备份已经没用), 行尾点删除, 弹窗"确定删除备份「文件名」吗?"确认后立即从磁盘删掉这个文件。这个操作跟自动清理是分开的——自动清理只删自动备份里超出 30 份的最旧那份, 手动删除可以删任意一份。
备份文件大小估算
备份文件就是把 SQLite 数据库整库复制一份, 所以大小约等于当前 data.db 的大小。一个粗略的参照:
| 记录总量 | 大致大小 | 30 份占用 |
|---|---|---|
| 1 千条以内 | 2-5 MB | 不到 200 MB |
| 1 万条左右 | 15-30 MB | 1 GB 左右 |
| 5 万条以上 | 80-150 MB | 3-5 GB |
记录总量是把所有模块加起来算的(村民+党员+低保户+各种台账)。基本不用担心占满硬盘, 但如果系统盘只剩几个 G, 还是建议清理一下。
手动下载备份(存 U 盘 / 网盘)
自动备份只在本机硬盘上。本机硬盘坏了, 备份也跟着没了。所以建议每周至少下载一份到 U 盘或网盘。
- 选一份在备份列表里挑最新的那份, 或者今天手动备的那份
- 点下载行尾"下载"按钮, 浏览器/系统会把这个 .db 文件保存到默认下载目录
- 转存把下载好的文件复制到 U 盘根目录、移动硬盘、或者已经同步的网盘文件夹(微云/百度网盘的本地同步盘)
- 保留文件名文件名还是原来的
auto-YYYYMMDD-HHmmss.db或manual-YYYYMMDD-HHmmss.db, 别改, 以后好认
U 盘存一份, 网盘存一份。U 盘怕丢、怕坏, 网盘怕忘密码, 两个都有就稳了。每月轮换一次, 一年下来花不了 10 分钟。
从备份恢复: 点"恢复"覆盖当前数据
恢复只有一个入口——备份必须先出现在本机的备份列表里(列表就是扫描 backups\ 目录里的 .db 文件, 页面本身没有"上传"按钮):
情况一: 备份就在本机列表里
- 找到那份在列表里找日期最接近你想回到的那份
- 点恢复行尾"恢复"按钮
- 看清提示弹窗写"确定把全部数据恢复到「备份时间」的状态吗?当前数据会被覆盖(系统会先自动备份一份当前数据, 可回退)。", 点"确定恢复"
- 等几秒提示"恢复完成", 页面会自动刷新加载恢复后的数据
情况二: 备份在 U 盘里(本机数据丢了或换了新电脑)
系统没有网页上传备份的功能, 需要用文件资源管理器手动把 .db 文件复制进备份目录, 列表刷新后就能看到它:
- 找到备份目录默认
D:\乡村管理系统\data\backups\(没 D 盘则在%APPDATA%\cn.village.admin\data\backups\) - 复制文件把 U 盘里的 .db 文件复制粘贴到这个目录下; 文件名只能含字母、数字、
-、_、., 且必须以.db结尾, 否则页面上看不到它 - 刷新页面回到"备份恢复"页(或重新进入), 新复制的文件会出现在列表里
- 点恢复对这一行点"恢复", 后面流程同情况一
还原前的确认(将覆盖当前所有数据)
这步特别重要, 别手抖点过去。
从你点"确定恢复"那一刻起, 当前数据库里的所有内容(包括最新加的人、改的字段、收的党费、开的证明)全部消失, 整库换成备份那一天的样子。这个操作没有"撤销", 只能再用一份更新的备份盖回来。
点"恢复"只会弹出一次确认框(写清备份时间和"当前数据会被覆盖"), 点"确定恢复"就立即执行——不需要额外输入"还原"字样或密码, 只有 admin 能进这个页面, 这就是唯一的门槛。真正的安全网是: 确认框里已经写明"系统会先自动备份一份当前数据", 也就是在覆盖之前, 系统会先用 manual-YYYYMMDD-HHmmss.db 的命名给"恢复前的当前数据"再存一份, 万一选错备份, 还能从这一份找回来。
还原后哪些数据会丢(从备份日期到现在的所有变更)
很多人以为"只还原某个模块", 系统不支持这种操作, 还原是整库还原, 全是全无。具体哪些会丢, 列清楚:
| 项目 | 还原后的状态 |
|---|---|
| 所有模块的记录(村民/党员/低保/...) | 回到备份那天 |
| 模块的字段结构、视图配置 | 回到备份那天 |
| 用户和角色权限 | 回到备份那天 |
| 党费缴纳记录 | 回到备份那天 |
| 已开过的证明记录 | 回到备份那天 |
| 操作日志 | 回到备份那天(还原本身这条会留下) |
| 全局回收站里的记录 | 回到备份那天 |
| 资料文件/证明模板/报表模板/聊天附件等文件本体 | 不变, 见下面"备份是否包含资料文件/模板等" |
举个例子: 上一份备份是 6 月 15 日凌晨, 你 6 月 20 日把数据还原回去, 那么 15 日凌晨到 20 日之间新增/修改的全部不见, 包括这 5 天新登记的村民、新收的党费、新开的证明。
换电脑迁移(下载当前 db + 在新电脑上还原)
主机要换台新电脑, 流程就是"下载 → 拷贝 → 新机还原":
- 旧机手动备份在旧电脑点"立即备份", 拿到最新一份
- 下载到 U 盘对这一份点"下载", 转存到 U 盘
- 拷贝业务文件目录把
D:\乡村管理系统\data\(没 D 盘则在%APPDATA%\cn.village.admin\data\)下的files\、cert_templates\、templates\、chat-files\、branding\、app_icons\这 6 个文件夹一并复制到 U 盘(哪个存在就拷哪个, 没用过对应功能的目录可能还没生成, 跳过即可) - 新机装软件在新电脑装上同版本(或更高版本)的乡村管理系统, 第一次启动用 admin/admin123 登录一下让它初始化
- 新机放备份文件把 U 盘里的 .db 文件复制到新机的
data\backups\目录下, 进"备份恢复"页刷新就能看到它, 点"恢复" - 新机放业务文件把 U 盘里的这 6 个文件夹分别覆盖到新机
data\下的同名目录 - 验证登进去看几条带附件/证明模板/聊天文件的记录, 都能正常打开或预览就 OK
新机软件版本不能比旧机低。低版本无法识别新版本的数据库结构, 还原会失败。装新机时直接装最新版, 或装跟旧机一样的版本。
备份是否包含资料文件/模板等(注意这些是单独的目录)
这是最容易踩坑的一点, 记牢: data.db 备份只包含结构化数据, 数据库之外还有 6 个存真实文件的目录, 备份 .db 时容易漏掉它们。
| 类型 | 是否在 .db 备份里 | 说明 |
|---|---|---|
| 文本/数字/日期/下拉等字段值 | 在 | 所有结构化数据都在 .db 里 |
| 附件/图片字段、证明模板等的记录 | 在 | 但 .db 里只存了文件名、路径这些元数据 |
资料文件库文件本体(files\) | 不在 | "文件管理"模块里上传的资料文件, 见 文件管理 |
证明 docx 模板本体(cert_templates\) | 不在 | 开具证明用的模板文件, 见 证明开具 |
报表模板本体(templates\) | 不在 | 报表导出用的 xlsx 模板, 见 报表管理 |
聊天附件本体(chat-files\) | 不在 | 内部聊天里发送的文件, 见 内部聊天 |
登录背景/品牌图片本体(branding\) | 不在 | 系统设置里上传的登录背景、村徽等图片 |
外部程序图标缓存(app_icons\) | 不在 | 外部程序快捷启动用的图标缓存, 丢了会自动重新生成, 就算漏备份影响也很小 |
所以一次完整的"全量备份"要做两件事:
- 下载 .db在备份恢复页面下载最新一份
- 压缩这 6 个业务文件目录把
D:\乡村管理系统\data\(没 D 盘则在%APPDATA%\cn.village.admin\data\)下的files\、cert_templates\、templates\、chat-files\、branding\、app_icons\一起打包成 zip, 跟 .db 放一起(哪个目录还没生成就跳过, 不影响其他目录)
只导 .db 不导这 6 个目录, 还原后会看到资料文件、证明模板、聊天附件这些记录的名字还在, 但点开会提示"文件不存在"。
备份失败排查(磁盘空间 / 权限)
系统没有在备份恢复页顶部做失败红条提示——自动备份失败只会写进系统日志, 界面上不会主动告诉你。判断有没有失败, 最直接的办法是隔一段时间就打开"备份恢复"页看看列表里今天有没有新的 auto- 开头的文件。手动点"立即备份"如果失败, 会弹出报错(常见文案是"文件操作失败"这类通用提示)。常见原因和处理:
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 手动"立即备份"报错 | 磁盘空间不足、备份目录没有写入权限、或数据库正被大批量操作占用 | 清理系统盘空间; 检查备份目录是否可写; 等当前批量导入/编辑做完再重试 |
机器没有 D 盘, 软件回落装到了 C:\Program Files\乡村管理系统\ | 该目录受系统权限保护, 写入可能受限 | 右键软件图标 → 以管理员身份运行, 或用本页"数据存储位置 → 更改位置"把数据迁到 D 盘等非系统盘 |
列表连续几天没有新的 auto- 备份 | 主机这几天没开机, 或软件没在跑 | 手动点一次"立即备份"补上 |
排查后再点一次"立即备份"验证, 列表多出一行就说明问题解决了。
建议的定期校验(每月手动还原一次测试)
有备份不等于备份能用。见过太多单位备份了一年, 真出事时才发现文件早就坏了。建议每个月固定做一次恢复演练:
- 找一台测试电脑不要在主机上做, 拿一台闲置电脑或办公笔记本
- 装一份软件装同版本的乡村管理系统
- 拷一份最近的备份从主机或 U 盘拿一份最新的 .db
- 在测试机上还原把 .db 复制进测试机的
data\backups\目录 → 刷新"备份恢复"页 → 点还原 - 抽查 5 条数据登进去, 随便找 5 个村民, 看姓名、身份证、电话、关联的低保户是不是齐的
- 登记记录在纸质本上写一行"YYYY-MM-DD 备份校验通过, 经办人: XXX"
定一个日子, 比如每月 5 号, 跟交党费、报报表这些事情一起做, 半小时就能搞定。坚持半年, 就再也不用担心数据丢了。还可以顺便看一下 全局回收站 里有没有要清的东西。