
## n8n从FTP恢复工作流和凭据 – 自托管解决方案
这个n8n模板为自托管的n8n实例提供了一个安全智能的恢复解决方案,允许您从FTP备份中恢复工作流和凭据。
完美适用于灾难恢复或在环境之间迁移,此工作流自动识别您最近的备份,并提供手动恢复功能,智能排除当前工作流以防止冲突。与按日期组织的备份文件夹无缝配合。
### 重要须知
– 此工作流使用n8n的原生导入命令(n8n import:workflow和n8n import:credentials)
– 与日期格式的备份文件夹配合使用(YYYY-MM-DD),便于版本识别
– 恢复过程智能排除当前工作流,防止覆盖自身
– 需要正确的Docker卷配置和文件系统权限
– 所有操作都在服务器端执行,无外部依赖
– 与n8n导出命令创建的备份兼容
### 工作原理
#### 恢复过程(手动)
– 手动触发器,带有可配置的固定数据选项(凭据:true/false,工作流:true/false)
– Init节点使用您的环境设置建立所有必要的路径、时间戳和配置变量
– 工作流扫描您的FTP备份文件夹并自动识别最近的备份
**如果恢复凭据:**
– 使用n8n的import命令从最新备份文件夹直接导入
– 凭据以其加密格式完整导入
**如果恢复工作流:**
– 扫描备份文件夹中的所有工作流JSON文件
– 创建包含备份中所有工作流的临时文件夹
– 智能排除当前恢复工作流以防止冲突
– 使用n8n的import命令导入所有其他工作流
– 自动清理临时文件
可选电子邮件通知提供详细的恢复摘要,包含命令输出。
### 使用方法
#### 先决条件
– 现有n8n备份在日期组织的文件夹结构中(格式:/FTP-backup-folder/YYYY-MM-DD/)
– 工作流备份作为JSON文件在日期文件夹中
– 凭据备份在子文件夹:/FTP-backup-folder/YYYY-MM-DD/n8n-credentials/
– 对于新环境:需要源环境的N8N_ENCRYPTION_KEY
#### 初始设置
配置您的环境变量:
– N8N_ADMIN_EMAIL:您的通知电子邮件(可选)
– FTP_BACKUP_FOLDER:备份存储位置(例如,/n8n-backups)
– N8N_PROJECTS_DIR:项目根目录
– GENERIC_TIMEZONE:您的本地时区
– N8N_ENCRYPTION_KEY:如果需要将凭据恢复到新环境
#### 执行恢复
1. 打开工作流并找到”Start Restore”手动触发器节点
2. 编辑固定数据以选择要恢复的内容:
– credentials: true – 恢复凭据
– workflows: true – 恢复工作流
– 两者都设为true以恢复所有内容
3. 点击”Execute workflow”执行恢复
4. 工作流将自动找到最近的备份(最新日期)
5. 检查控制台日志或可选电子邮件获取详细恢复摘要
### 重要注意事项
– 工作流在恢复期间自动排除自身以防止冲突
– 凭据以其加密形式恢复。如果恢复到新环境,必须配置源环境的N8N_ENCRYPTION_KEY
– 具有相同名称的现有工作流/凭据将被覆盖
– 如果不确定,首先在非生产环境中测试
### 技术节点
工作流包含以下关键节点:
– **Manual Trigger**:手动启动恢复过程
– **Code**:初始化配置和路径设置
– **FTP**:连接到FTP服务器列出和下载备份文件
– **Filter**:过滤掉凭据子文件夹
– **Execute Command**:执行n8n导入命令
– **ReadWriteFile**:将下载的文件写入磁盘
– **Email Send**:发送成功通知
– **If**:条件分支控制恢复流程
### 兼容性
– 测试于n8n版本1.113.3
– 与基于Docker的n8n安装兼容
– 需要n8n CLI访问(在官方Docker镜像中可用)
此工作流专为自托管服务器FTP备份恢复而设计。对于本地磁盘备份,请参阅配套工作流”n8n从磁盘恢复”。

评论(0)