跳到主要内容

使用 n8n 实现工作流与凭证的自动化备份

在使用 n8n 构建自动化流程的过程中,工作流配置凭证信息是最核心的资产。
一旦丢失或误操作,很可能导致自动化系统不可用。为此,我构建了一个自动化备份方案,将所有工作流和凭证定时导出并存储到 GitHub 仓库。


1. 方案背景

  • 风险:工作流被误修改、凭证丢失、数据无法恢复。
  • 目标:实现自动化、版本化的备份,确保数据安全和可追溯性。
  • 工具:n8n 自带命令行工具 + GitHub 仓库。

2. 方案设计

整体流程分为四步:

  1. 定时触发
    使用 Schedule Trigger 节点设定执行周期,例如每天凌晨运行一次。

  2. 导出数据

    • 导出所有工作流:
      n8n export:workflow --all --output=/data/shared/WorkFlowBackup.json
    • 导出所有凭证:
      n8n export:credentials --all --output=/data/shared/CredentialBackup.json
  3. 哈希比对

    • 使用 SHA256 算法比较新旧文件哈希值。
    • 仅在文件发生变化时触发后续步骤,避免冗余提交。
  4. 提交 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 的开发者。