摘要
云端服务器数据丢失风险高?本文分享免费自动备份n8n工作流到GitHub的完整方案,解决数据安全痛点,实现定时同步与版本管理。

对于工作流来说,因为都是需要部署的——不论是本地还是云端服务器——就会有「安全性」的问题
尤其是云端服务器,会有各种故障,加上平台频繁升级,很容易误操作,导致数据丢失。
饼干哥哥之前的服务器就试过被黑客扫描到,攻击后锁住了数据库,勒索我比特币。
虽然我最后选择重装系统,但也警示 ⚠️ 我们要注意数据安全问题。
现在饼干哥哥跑的业务有 10 多个工作流在 n8n 上,要是有点风吹草动就伤神了。
所以今天就分享一个**用 Github 免费自动备份 n8n 的工作流,**先收藏转发保存起来,一定用得上。
效果是这样,中间是工作流的名字,很清晰。搭配上定时触发器的话,可以每天自动备份。

这个工作流是国外作者创建的,具体讲解可见:https://www.youtube.com/watch?v=NJMMBc9FM_w
n8n 文件可以到作者的网站下载,我也帮大家下载好了,见文末。

Github 准备
应该不用介绍 Github 是什么了吧。。不了解的可以搜一下,简单来说就是一个代码托管平台,你也可以理解成是一个代码网盘。
创建仓库
如图位置点 New repository

给仓库起个名字,例如 n8n-workflow-backup****,这个记住,后面要用。
如果你不想工作流被别人看到,就选 Private 即可

创建密钥
在个人的全局设置 Settings 里找到 Developer Settings
如下图,在 Fine-grained tokens 页面,创建 token Generate new token

随便给 token 起个名字,最重要是下面的 Expiration,过期日期,嫌麻烦的就可以选择永不过期

注意,这个密钥是可以操作你账号的。
所以为了安全起见,我们要给它加个限制:
选择 Only select repositories,只对刚才我们新建的仓库生效

同时,开放对流程和内容的读写权限,最终的权限配置如下图所示即可。



最后,别忘了把生成好的 Token 复制下来备用。

n8n 工作流
拿到文件后我们直接新建工作流,然后通过导入文件的形式导进去。

这个工作流分成了两个部分。我们从上往下看。
主流程
上面是主流程,它会读取我们 n8n 工作区的所有工作流,然后逐个同步到 Github

其中,中间的 n8n 节点需要设置我们自己 n8n 工作区的 Credential
此时要点开设置,找到 n8n API
需要我们自己创建一个 key,黏贴到上面的 Credential 里即可。

次流程
接下来,看下面的。它会把 n8n 工作区的工作流和 Github 的做对比,只有存在新增和修改,才会同步到 Github,并且设置备注等信息。
设置 Github
关注如图的几个 Github 的图表,逐个点开它们。

设置 Credential,注意 User 是你 Github 的用户名,Access Token 就是前面新建好的密钥

设置信息
点开 Edit this node 的位置

这里需要填入 Github 的用户名,以及前面新建好的 Github 仓库名称

运行一下:

很丝滑的帮我同步好了。
