用于n8n,自动化备份工作流程到GitHub,每天定时运行,确保所有实例工作流程安全存储。通过比较文件内容,自动识别新文件或变更,并相应创建或编辑文件,提升数据管理效率。
该工作流适合以下人群:
- 开发者:需要定期备份和管理 GitHub 上的工作流。
- 团队领导:希望确保团队的工作流版本得到有效管理和备份。
- 自动化爱好者:希望利用 n8n 自动化处理 GitHub 文件的创建和更新。
- 数据分析师:需要定期获取和分析工作流数据的用户。
该工作流解决了以下问题:
- 文件备份:自动将 n8n 工作流备份到 GitHub,确保数据的安全性和可恢复性。
- 文件版本管理:通过比较文件内容,自动识别新文件、相同文件或不同文件,便于管理版本。
- 定期执行:利用定时触发器定期执行备份任务,减少人工干预,提升效率。
工作流的详细步骤如下:
1. 定时触发:使用调度触发器每天在 07:00 执行工作流。
2. 获取文件数据:从 GitHub 获取指定路径下的文件数据。
3. 检查文件大小:判断文件是否过大,若文件内容为空或没有错误,则继续处理。
4. 合并数据:将获取的文件数据与其他数据合并。
5. 比较文件:使用 JavaScript 代码检查文件内容是否相同,标记为 "相同"、"不同" 或 "新文件"。
6. 根据状态处理:根据文件状态决定下一步操作:
- 相同文件:不执行任何操作。
- 不同文件:更新现有文件。
- 新文件:创建新文件并上传至 GitHub。
7. 返回结果:工作流结束时返回处理结果,标记为 "完成"。
用户可以通过以下方式自定义和调整此工作流:
- 修改 GitHub 相关信息:在 Globals 节点中更新 repo.owner
、repo.name
和 repo.path
的值,以适应自己的 GitHub 仓库。
- 调整调度时间:在 Schedule Trigger 节点中修改 triggerAtHour
的值,以设置不同的备份时间。
- 更改文件处理逻辑:在 isDiffOrNew 节点中调整 JavaScript 代码,以实现不同的文件比较逻辑或处理方式。
- 添加更多节点:根据需要添加其他功能节点,例如通知节点或数据处理节点,以扩展工作流的功能。