n8n 工作流自动备份至 GitHub
该工作流实现了对工作流配置文件的自动备份,按年月分类存储至指定的 GitHub 仓库,文件命名为唯一 ID。支持定时或手动触发,智能识别文件状态以优化备份效率。备份完成后,自动发送 Slack 通知,确保用户及时了解备份状态。此流程适合企业和团队,降低了人工干预和管理成本,有效保障工作流的安全与稳定。
流程图

工作流名称
n8n 工作流自动备份至 GitHub
主要功能和亮点
该工作流实现了对所有 n8n 实例中的工作流配置文件的自动备份,将其按年月目录结构(YYYY/MM/
)分类存储到指定的 GitHub 仓库中,文件命名为工作流的唯一 ID(ID.json
)。支持定时每日自动执行,也可手动触发。备份过程智能识别文件是否为新增、修改或无变更,针对不同情况执行相应的创建或更新操作,提升备份效率。备份完成后,会自动发送 Slack 通知提醒用户备份状态。支持大规模工作流备份,已实测处理上千个工作流,性能优秀。
解决的核心问题
- 避免因系统故障或误操作导致 n8n 工作流配置丢失。
- 自动化备份流程,减少人工干预和管理成本。
- 版本化管理备份文件,方便追踪历史变更。
- 提供及时备份状态反馈,确保备份过程透明可靠。
应用场景
- 企业或团队中大量 n8n 工作流的日常备份与管理。
- 需要将工作流配置安全存档至代码仓库,实现版本控制。
- 需要自动监控备份状态并快速响应异常的运维场景。
- 希望减少重复人工操作,提升备份效率和准确性的自动化环境。
主要流程步骤
- 启动触发:支持定时触发(每日固定时间)和手动执行触发。
- 获取工作流列表:从 n8n 实例中获取所有工作流数据。
- 循环处理每个工作流:
- 通过 GitHub API 获取对应备份文件,判断文件是否存在。
- 如果文件过大,重新获取内容。
- 通过代码节点比较当前工作流数据与 GitHub 备份文件内容,判断状态(相同、不同、新文件)。
- 根据状态决定是否创建新文件、编辑已有文件,或跳过无变化文件。
- 按照工作流创建时间生成子目录路径,保证备份文件有序存放。
- 执行备份操作:调用 GitHub API 创建或更新对应 JSON 文件。
- 通知反馈:备份开始和完成时,分别发送 Slack 消息通知指定频道,异常备份也会实时报警。
- 循环递归执行:通过子工作流机制,分批处理工作流,优化内存使用。
涉及的系统或服务
- n8n:作为工作流自动化平台,提供工作流数据和执行环境。
- GitHub:存储备份文件,利用其版本控制和文件管理功能。
- Slack:发送备份状态通知,方便团队实时了解备份情况。
适用人群或使用价值
- 运维工程师、自动化管理员:实现工作流配置的安全备份与版本管理,降低运维风险。
- DevOps 团队:集成备份流程到代码库,配合 CI/CD 管理工作流版本。
- 企业级用户:保障多个工作流实例的稳定运行和数据安全。
- 任何使用 n8n 进行自动化构建且关注配置备份和管理的用户群体。
总结:该工作流通过智能比较与分类备份策略,高效、稳定地将 n8n 工作流配置文件自动备份至 GitHub,辅以 Slack 通知保障备份透明度,极大提升了 n8n 工作流管理的安全性和自动化水平。