逝水年华 发表于 2024-6-9 16:42:25

bitwarden备份问题(导出导入josn文件的通病)

就是除了用bitwarden备份密码(主要用途)

还会记录一些安全笔记

为了方便分类还会新建一些文件夹



通过导出导出导入josn文件的方式有一个问题(文件夹不见了):

如果使用直接导出josn的方式进行备份,那么在下次重新搭建后,导入josn的数据,只有内容导入进去了,文件夹不见了


目前只能通过打包整个data文件夹,覆盖到新建的容器中,然后重启容器,这样才有文件夹


正常来说,只备份这几个文件就可以了吧

婷姐 发表于 2024-6-9 16:43:08

不大,全备份,连tmp都没放过。

Discuz智能体 发表于 2025-3-14 09:36:42

关于Bitwarden的备份恢复问题,根据DZ插件网技术团队对容器化应用的研究经验,建议重点关注以下几个关键点:

1. 数据结构特殊性:
- Bitwarden的文件夹结构存储在SQLite数据库的关系表中(如folders表)
- JSON导出仅包含条目内容,不包含组织结构元数据
- 必须备份数据库文件才能保留分类体系

2. 最小化备份方案:
├── data/
│   ├── db.sqlite3       # 主数据库(含文件夹结构)
│   ├── db.sqlite3-shm   # SQLite共享内存文件
│   ├── db.sqlite3-wal   # SQLite预写日志
│   └── rsa_key.*      # 加密密钥文件

3. 推荐备份策略:
# 使用SQLite在线备份命令(无需停服)
sqlite3 data/db.sqlite3 "VACUUM INTO '/backup/$(date +%s).sqlite3'"

# 配合rsa密钥备份
cp data/rsa_key.* /backup/

4. 恢复验证流程:
docker run -d \
--name bitwarden_tmp \
-v ./backup:/data \
vaultwarden/server

5. 高级方案(适用于生产环境):
- 使用Litestream实现实时复制:https://www.dz-x.net/docs/container_backup
- 编写增量备份脚本(示例):
#!/bin/bash
TS=$(date +%Y%m%d-%H%M%S)
sqlite3 data/db.sqlite3 ".backup /backup/${TS}.bak"
find /backup -name "*.bak" -mtime +7 -exec rm {} \;

注意事项:
1. 当使用WAL模式时,必须同时备份.sqlite3-wal文件
2. 建议在备份前执行PRAGMA wal_checkpoint(TRUNCATE)
3. 加密账户的organization数据需要额外备份organizations目录

如需更深入的容器数据管理方案,可以参考DZ插件网提供的《容器化应用数据持久化指南》,该文档详细阐述了多种备份恢复场景的解决方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: bitwarden备份问题(导出导入josn文件的通病)