Skip to content

n8n 命令行界面(CLI)命令#

n8n 包含一个 CLI(命令行界面),允许您通过命令行而非 n8n 编辑器执行操作。这些操作包括启动工作流、导出和导入工作流及凭证。

运行 CLI 命令#

您可以在自托管的 n8n 中使用 CLI 命令。根据您选择的安装方式,运行命令的方式有所不同:

  • npm:直接使用 n8n 命令。以下示例文档中均使用此方式。
  • Docker:在 Docker 容器内使用 n8n 命令:

    1
    docker exec -u node -it <n8n-container-name> <n8n-cli-command>
    

启动工作流#

您可以直接使用 CLI 启动工作流。

通过工作流 ID 执行已保存的工作流:

1
n8n execute --id <ID>

更改工作流的激活状态#

您可以使用 CLI 更改工作流的激活状态。

需要重启

这些命令操作的是 n8n 数据库。如果在 n8n 运行时执行这些命令,更改将在重启 n8n 后生效。

通过工作流 ID 将激活状态设为 false:

1
n8n update:workflow --id=<ID> --active=false

通过工作流 ID 将激活状态设为 true:

1
n8n update:workflow --id=<ID> --active=true

将所有工作流的激活状态设为 false:

1
n8n update:workflow --all --active=false

将所有工作流的激活状态设为 true:

1
n8n update:workflow --all --active=true

导出工作流和凭据#

您可以使用 CLI 从 n8n 导出工作流和凭据。

命令标志:

Flag 描述
--help 显示帮助提示。
--all 导出所有工作流/凭据。
--backup 设置 --all --pretty --separate 用于备份。可选项设置 --output。
--id 要导出的工作流 ID。
--output 输出文件名或使用单独文件时的目录。
--pretty 以更易读的格式输出。
--separate 每个工作流导出为一个文件(适用于版本控制)。必须使用 --output 设置目录。
--decrypted 以纯文本格式导出凭据。

工作流#

将所有工作流导出到标准输出(终端):

1
n8n export:workflow --all

按 ID 导出工作流并指定输出文件名:

1
n8n export:workflow --id=<ID> --output=file.json

将所有工作流导出到指定目录的单个文件中:

1
n8n export:workflow --all --output=backups/latest/file.json

使用 --backup 标志将所有工作流导出到指定目录(详情见上文):

1
n8n export:workflow --backup --output=backups/latest/

凭据管理#

将所有凭据导出到标准输出(终端):

1
n8n export:credentials --all

通过凭据 ID 导出并指定输出文件名:

1
n8n export:credentials --id=<ID> --output=file.json

将所有凭据导出到指定目录的单个文件中:

1
n8n export:credentials --all --output=backups/latest/file.json

使用 --backup 标志将所有凭据导出到指定目录(详情见上文):

1
n8n export:credentials --backup --output=backups/latest/

以纯文本格式导出所有凭据。此方式可用于从一套安装迁移到另一套配置文件中使用不同密钥的安装。

敏感信息警告

所有敏感信息在文件中均可见。

1
n8n export:credentials --all --decrypted --output=backups/decrypted.json

导入工作流和凭据#

您可以使用 CLI 从 n8n 导入工作流和凭据。

更新 ID

当导出工作流和凭据时,n8n 也会导出它们的 ID。如果您现有数据库中存在相同 ID 的工作流和凭据,它们将被覆盖。为避免这种情况,请在导入前删除或更改这些 ID。

可用标志:

标志 描述
--help 帮助提示。
--input 输入文件名,如果使用 --separate 则为目录路径。
--projectId 将工作流或凭据导入到指定项目。不能与 --userId 同时使用。
--separate 从 --input 提供的目录导入 *.json 文件。
--userId 将工作流或凭据导入到指定用户。不能与 --projectId 同时使用。

迁移到 SQLite

n8n 限制工作流和凭据名称长度为 128 个字符,但 SQLite 不强制执行大小限制。

这可能导致导入过程中出现类似 Data too long for column name 的错误。

遇到这种情况,您可以通过 n8n 界面编辑名称后重新导出,或者在导入前直接编辑 JSON 文件。

工作流#

从特定文件导入工作流:

1
n8n import:workflow --input=file.json

从指定目录导入所有工作流 JSON 文件:

1
n8n import:workflow --separate --input=backups/latest/

凭据#

从特定文件导入凭据:

1
n8n import:credentials --input=file.json

从指定目录导入所有凭据 JSON 文件:

1
n8n import:credentials --separate --input=backups/latest/

许可证#

清除#

从 n8n 数据库中清除现有许可证,并将 n8n 重置为默认功能:

1
n8n license:clear

如果您的许可证包含浮动授权,运行此命令还会尝试将这些授权释放回池中,使其可供其他实例使用。

信息#

显示现有许可证的相关信息:

1
n8n license:info

用户管理#

您可以使用 n8n CLI 重置用户管理。这将使用户管理恢复到初始设置状态,并删除所有用户账户。

当您忘记密码且未设置 SMTP 通过邮件重置密码时,可使用此命令。

1
n8n user-management:reset

禁用用户的 MFA#

如果用户丢失了恢复代码,您可以使用此命令禁用该用户的多因素认证(MFA)。之后用户将能够重新登录并再次设置 MFA。

1
n8n mfa:disable --email=johndoe@example.com

禁用 LDAP#

您可以使用以下命令重置 LDAP 设置。

1
n8n ldap:reset

安全审计#

您可以在 n8n 实例上运行安全审计,以检测常见的安全问题。

1
n8n audit