n8n CLI命令#
n8n包含一个CLI(命令行界面),允许您通过CLI而非n8n编辑器执行操作。这些操作包括启动工作流,以及导出和导入工作流与凭证。
运行CLI命令#
您可以在自托管的n8n中使用CLI命令。根据您选择的n8n安装方式,运行命令的方式有所不同:
- npm:可直接使用
n8n命令。下文示例中的文档均采用此方式。 - Docker:
n8n命令可在Docker容器内使用:
docker exec -u node -it <n8n-container-name> <n8n-cli-command>
启动工作流#
您可以直接通过CLI启动工作流。
通过工作流ID执行已保存的工作流:
n8n execute --id <ID>
更改工作流的激活状态#
您可以使用命令行界面更改工作流的激活状态。
需要重启
这些命令直接对 n8n 数据库进行操作。如果在 n8n 运行时执行这些命令,需重启 n8n 后更改才会生效。
通过工作流 ID 将其激活状态设置为 false:
n8n update:workflow --id=<ID> --active=false
通过工作流ID将其活动状态设置为true:
n8n update:workflow --id=<ID> --active=true
将所有工作流的活动状态设置为 false:
n8n update:workflow --all --active=false
将所有工作流的活动状态设置为 true:
n8n update:workflow --all --active=true
导出实体#
您可以通过命令行界面从n8n导出数据库实体。该工具支持将所有实体类型从一种数据库(例如SQLite)导出,并导入到另一种数据库类型(例如Postgres)中。
命令参数:
| 参数 | 说明 |
|---|---|
| --help | 显示帮助信息 |
| --outputDir | 输出目录路径 |
| --includeExecutionHistoryDataTables | 包含执行历史数据表(默认排除,因数据量可能非常庞大) |
n8n export:entities --outputDir ./outputs --includeExecutionHistoryDataTables true
导出工作流与凭据#
您可以通过命令行界面从n8n导出工作流和凭据。
命令参数说明:
| 参数 | 功能说明 |
|---|---|
| --help | 显示帮助信息 |
| --all | 导出全部工作流/凭据 |
| --backup | 为备份操作设置--all --pretty --separate组合参数,可选择性设置--output |
| --id | 指定要导出的工作流ID |
| --output | 设置输出文件名(若使用独立文件则设置目录路径) |
| --pretty | 以更易读的格式输出内容 |
| --separate | 为每个工作流生成独立文件(适用于版本控制),必须通过--output设置目录 |
| --decrypted | 以明文格式导出凭据 |
工作流导出#
将所有工作流导出到标准输出(终端):
n8n export:workflow --all
根据工作流ID导出工作流并指定输出文件名:
n8n export:workflow --id=<ID> --output=file.json
将所有工 作流导出至指定目录的单个文件中:
n8n export:workflow --all --output=backups/latest/file.json
使用 --backup 标志将所有工作流导出到指定目录(详情见上文):
n8n export:workflow --backup --output=backups/latest/
凭据#
将所有凭据导出至标准输出(终端):
n8n export:credentials --all
通过凭据ID导出凭据并指定输出文件名:
n8n export:credentials --id=<ID> --output=file.json
将所有凭据导出到指定目录的单个文件中:
n8n export:credentials --all --output=backups/latest/file.json
使用 --backup 标志将所有凭据导出到指定目录(具体说明见上文):
n8n export:credentials --backup --output=backups/latest/
以纯文本格式导出所有凭据。您可以使用此功能将数据从一个安装迁移至配置文件中含有不同密钥的另一个安装。
敏感信息
所有敏感信息在文件中均可见。
n8n export:credentials --all --decrypted --output=backups/decrypted.json
导入实体#
您可以通过此命令导入先前 export:entities 命令导出的实体,支持将实体导入到与导出数据库类型不同的数据库类型中。当前支持的数据库类型包括:SQLite、Postgres。
导入前数据库需为空库,可通过 --truncateTables 参数强制清空现有数据。
命令参数:
| 参数 | 说明 |
|---|---|
| --help | 显示帮助信息 |
| --inputDir | 指定包含导入文件的输入目录 |
| --truncateTables | 在导入前清空所有数据表 |
n8n import:entities --inputDir ./outputs --truncateTables true
导入工作流与凭据#
您可以通过命令行界面从 n8n 导入工作流和凭据。
更新标识符
在导出工作流和凭据时,n8n 会同时导出其标识符。若当前数据库中已存在相同标识符的工作流和凭据,这些数据将被覆盖。为避免此情况,请在导入前删除或修改标识符。
可用参数:
| 参数 | 说明 |
|---|---|
| --help | 显示帮助信息 |
| --input | 输入文件名(若使用 --separate 参数则需指定目录路径) |
| --projectId | 将工作流或凭据导入指定项目(不可与 --userId 同时使用) |
| --separate | 从 --input 指定的目录中导入 *.json 文件 |
| --userId | 将工作流或凭据导入指定用户(不可与 --projectId 同时使用) |
迁移至 SQLite
n8n 限定工作流与凭据名称长度不超过128字符,但 SQLite 不强制限制字段长度。
这可能导致导入过程中出现 列名数据过长 类错误。
遇到此情况时,您可通过 n8n 界面编辑 名称后重新导出,或在导入前直接编辑 JSON 文件。
工作流#
从指定文件导入工作流:
n8n import:workflow --input=file.json
从指定目录导入所有工作流文件为JSON格式:
n8n import:workflow --separate --input=backups/latest/
凭据#
从指定文件导入凭据:
n8n import:credentials --input=file.json
将指定目录中的所有凭据文件作为JSON导入:
n8n import:credentials --separate --input=backups/latest/
许可证#
清除#
从 n8n 数据库中清除现有许可证,并将 n8n 重置为默认功能:
n8n license:clear
如果您的许可证包含浮动授权,执行此命令将同时尝试将其释放回资源池,以供其他实例使用。
信息#
显示现有许可证的相关信息:
n8n license:info
用户管理#
您可以通过n8n命令行工具重置用户管理功能。此操作将使用户管理恢复至初始设置状态,并清除所有用户账户。
若您忘记密码且未配置SMTP邮件服务进行密码重置时,可使用此功能。
n8n user-management:reset
为用户禁用MFA#
当用户丢失恢复代码时,您可通过以下命令为其禁用MFA。此后该用户将能重新登录以再次配置MFA功能。
n8n mfa:disable --email=[email protected]
禁用 LDAP#
您可以通过以下命令重置 LDAP 设置。
n8n ldap:reset
卸载社区节点与凭据#
您可以使用 n8n CLI 管理社区节点。当前仅支持卸载社区节点和凭据,这在社区节点导致系统不稳定时非常实用。
命令参数:
| 参数 | 说明 |
|---|---|
| --help | 显示 CLI 帮助信息 |
| --credential | 凭据类型。访问节点的 <NODE>.credential.ts 文件并获取 name 字段值即可获得该值 |
| --package | 社区节点的包名称 |
| --uninstall | 卸载节点 |
| --userId | 凭据所属用户的 ID。自托管环境下需查询数据库,云端环境需使用 API 密钥通过 API 查询 |
节点#
通过包名称卸载社区节点:
n8n community-node --uninstall --package <COMMUNITY_NODE_NAME>
例如,要卸载Evolution API社区节点,请输入:
n8n community-node --uninstall --package n8n-nodes-evolution-api
凭证#
卸载社区节点凭证:
n8n community-node --uninstall --credential <CREDENTIAL_TYPE> --userId <ID>
例如,要卸载 Evolution API 社区节点凭据,请访问 代码库 并导航至 credentials.ts 文件 以查找 name 字段:
n8n community-node --uninstall --credential evolutionApi --userId 1234
安全审计#
您可以在 n8n 实例上运行安全审计,以检测常见的安全问题。
n8n audit