备份
CheckCle 数据备份与持久化指南
1. 数据持久化设置
CheckCle 使用 PocketBase 作为其嵌入式数据库。默认情况下,PocketBase 将所有应用数据存储在容器内的 pb_data 文件夹中。为了在重启或重新创建容器时防止数据丢失,您应将此目录在主机上持久化。
示例:主机卷挂载
在您的容器配置中:
主机路径:
/mnt/db/pb_data容器路径:
/mnt/pb_data模式:
读写(RW)(读/写)
这可确保所有 PocketBase 数据(SQLite 数据库、上传的文件、迁移、日志)存储在主机上的:
/mnt/db/pb_data通过此设置,即使容器被移除或重新创建,CheckCle 的数据也会保留。

2. pb_data 的备份策略 pb_data
pb_data由于 pb_data 包含 SQLite 数据库和文件存储,因此定期备份至关重要。以下是推荐的策略:
A. 简单文件复制备份
使用 使用 rsync 或 或 cp 将 pb_data 文件夹复制到备份位置:
# 示例:带时间戳备份到 /backups/checkcle
rsync -avz /mnt/db/pb_data /backups/checkcle/pb_data_$(date +%F_%H-%M-%S)B. 压缩归档备份
创建一个压缩的 .tar.gz 归档以便携带:
tar -czvf /backups/checkcle/pb_data_$(date +%F).tar.gz /mnt/db/pb_dataC. 自动化 Cron 任务
使用自动化每天备份 cron:
0 2 * * * rsync -avz /mnt/db/pb_data /backups/checkcle/pb_data_$(date +\%F) >> /var/log/checkcle_backup.log 2>&1此任务在 每天凌晨 2 点运行.
D. 远程备份(可选)
将备份推送到远程服务器或云(S3、MinIO,或 rsync 到另一台服务器):
rsync -avz /mnt/db/pb_data user@remote-server:/remote/backups/checkcle/3. 恢复策略
要恢复备份:
停止 CheckCle(PocketBase)容器:
docker stop checkcle用您的备份替换该
pb_data目录:rm -rf /mnt/db/pb_data cp -r /backups/checkcle/pb_data_2025-09-15 /mnt/db/pb_data重启容器:
docker start checkcle
4. 最佳实践
在升级 CheckCle 或 PocketBase 之前始终备份 CheckCle 或 PocketBase。
定期测试恢复流程 以确保备份有效。
使用异地存储 (S3、Minio 或另一台服务器)以便灾难恢复。
监控主机上的磁盘空间 以防止备份失败。
最后更新于