三步实现Trilium Notes定时备份:安全存储全攻略

【免费下载链接】trilium Build your personal knowledge base with Trilium Notes 【免费下载链接】trilium 项目地址: https://gitcode.com/gh_mirrors/tr/trilium

你还在手动备份Trilium Notes数据?担心硬盘损坏导致知识库永久丢失?本文将通过三个步骤,教你利用官方工具实现全自动定时备份,结合加密存储方案,让知识资产固若金汤。读完你将获得:
✅ 5分钟配置完成自动备份脚本
✅ 三种定时任务设置方案(Linux/Windows/macOS)
✅ 备份文件加密与异地存储技巧

一、认识Trilium的备份工具链

Trilium Notes官方提供两套备份机制:

  • 核心备份服务src/services/backup.js实现了每日/每周/每月自动备份逻辑,默认存储在data/backup目录
  • 应急导出工具dump-db/dump-db.js可将数据库完整导出为文件系统结构,支持加密笔记解密

备份原理流程图

mermaid

二、配置智能备份脚本

1. 基础备份命令

通过官方工具直接生成备份文件:

# 使用核心备份服务生成加密数据库备份
node src/services/backup.js --type daily

# 使用应急工具导出明文笔记(需密码)
node dump-db/dump-db.js ~/.local/share/trilium-data/document.db ~/trilium-backups --password "你的主密码"

2. 自定义备份参数

复制配置模板修改备份策略:

cp config-sample.ini config.ini

编辑[General] section:

# 启用所有周期备份
dailyBackupEnabled=true
weeklyBackupEnabled=true
monthlyBackupEnabled=true
# 保留备份数量(默认无限制)
maxBackups=30

三、设置无人值守定时任务

Linux/macOS方案(crontab)

# 每日凌晨2点执行完整备份
0 2 * * * node /data/web/disk1/git_repo/gh_mirrors/tr/trilium/src/services/backup.js --type daily >> ~/trilium-backup.log 2>&1

# 每周日3点执行明文导出
0 3 * * 0 node /data/web/disk1/git_repo/gh_mirrors/tr/trilium/dump-db/dump-db.js /home/user/.local/share/trilium-data/document.db /mnt/backup/trilium --password "你的密码"

Windows方案(任务计划程序)

  1. 创建批处理文件backup-trilium.bat
@echo off
node C:\gh_mirrors\tr\trilium\src\services\backup.js --type daily
node C:\gh_mirrors\tr\trilium\dump-db\dump-db.js "C:\Users\用户名\AppData\Roaming\Trilium Notes\document.db" "D:\Backup\Trilium" --password "你的密码"
  1. 在任务计划程序中设置每日触发

四、备份安全加固方案

1. 加密存储实现

利用系统加密工具保护备份文件:

# 使用gpg加密备份目录
gpg -c ~/trilium-backups/backup-daily.db

# 解密命令
gpg ~/trilium-backups/backup-daily.db.gpg

核心加密逻辑参考src/services/encryption/password_encryption.js

2. 异地备份策略

存储方案 实现命令 安全等级
本地外部硬盘 rsync -av ~/trilium-backups /mnt/external-drive/ ★★★☆☆
私有云同步 rclone sync ~/trilium-backups mynextcloud:backups/ ★★★★☆
加密压缩上传 7z a -p"密码" -mx=9 backup-$(date +%F).7z ~/trilium-backups/* ★★★★★

五、备份恢复验证

定期验证备份有效性:

# 检查备份文件完整性
sqlite3 backup-daily.db "PRAGMA integrity_check;"

# 模拟恢复测试
mkdir -p /tmp/trilium-test
cp backup-daily.db /tmp/trilium-test/document.db
TRILIUM_DATA_DIR=/tmp/trilium-test node electron.js

六、自动化监控与告警

添加备份状态检查脚本:

#!/bin/bash
BACKUP_FILE="/data/web/disk1/git_repo/gh_mirrors/tr/trilium/data/backup/backup-daily.db"
if [ $(find "$BACKUP_FILE" -mtime -1 | wc -l) -eq 0 ]; then
    echo "Trilium备份失败!" | mail -s "备份告警" your@email.com
fi

总结与最佳实践

  1. 3-2-1备份法则:保存3份数据副本,使用2种存储介质,1份存储在异地
  2. 定期演练:每季度进行一次恢复测试,确保备份可用
  3. 密码管理:备份密码与登录密码分离,使用密码管理器存储

下期预告:《Trilium Notes数据迁移完全指南:从旧设备到新环境的无缝过渡》

🔖 收藏本文,随时查阅备份配置;关注作者,获取更多知识库管理技巧!

【免费下载链接】trilium Build your personal knowledge base with Trilium Notes 【免费下载链接】trilium 项目地址: https://gitcode.com/gh_mirrors/tr/trilium

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐