使用 n8n 实现工作流与凭证的自动化备份
在使用 n8n 构建自动化流程的过程中,工作流配置和凭证信息是最核心的资产。
一旦丢失或误操作,很可能导致自动化系统不可用。为此,我构建了一个自动化备份方案,将所有工作流和凭证定时导出并存储到 GitHub 仓库。
1. 方案背景
- 风险:工作流被误修改、凭证丢失、数据无法恢复。
- 目标:实现自动化、版本化的备份,确保数据安全和可追溯性。
- 工具:n8n 自带命令行工具 + GitHub 仓库。
2. 方案设计
整体流程分为四步:
-
定时触发
使用Schedule Trigger
节点设定执行周期,例如每天凌晨运行一次。 -
导出数据
- 导出所有工作流:
n8n export:workflow --all --output=/data/shared/WorkFlowBackup.json
- 导出所有凭证:
n8n export:credentials --all --output=/data/shared/CredentialBackup.json
- 导出所有工作流:
-
哈希比对
- 使用
SHA256
算法比较新旧文件哈希值。 - 仅在文件发生变化时触发后续步骤,避免冗余提交。
- 使用
-
提交 GitHub
- 将更新后的文件自动 commit 并 push 到 GitHub 仓库。
- 借助版本控制,可以方便地回溯历史记录。
3. 工作流结构
- 触发器:Schedule Trigger
- 数据处理:文件读写、哈希计算、条件判断
- 执行命令:调用
n8n export
导出工作流和凭证 - 存储:通过 GitHub 节点提交至远程仓库
流程示意:
Schedule Trigger → Export Workflow/Credentials → Hash Compare → GitHub Commit
4. 效果与价值
- 数据安全:避免误删或丢失导致的不可逆损失。
- 版本可追溯:历史备份均存储在 GitHub,可随时回退。
- 自动化执行:减少人工干预,提高运维效率。
5. 总结
该方案利用 n8n 的命令行导出功能,结合定时触发与 GitHub 存储,实现了 工作流与凭证的自动化、版本化备份。
它简单、可复用,适合任何在生产或团队环境中使用 n8n 的开发者。