# CLI commands for n8n

- [https://docs.n8n.io/hosting/cli-commands/#cli-commands-for-n8n](https://docs.n8n.io/hosting/cli-commands/#cli-commands-for-n8n)

n8n에는 CLI(명령줄 인터페이스)가 포함되어 있어 n8n 편집기가 아닌 CLI를 사용하여 작업을 수행할 수 있습니다. 여기에는 워크플로우 시작, 워크플로우 및 자격 증명 내보내기 및 가져오기가 포함됩니다.

## **CLI 명령 실행**

자체 호스팅된 n8n과 함께 CLI 명령을 사용할 수 있습니다. n8n을 설치하는 방법에 따라 명령어를 실행하는 방법에 차이가 있습니다:

- npm: `n8n`

명령을 직접 사용할 수 있습니다. 이 설명서는 아래 예제에서 이 기능을 사용합니다.

- 도커:  `n8n`

명령은 도커 컨테이너 내에서 사용할 수 있습니다:

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

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094750_GVzSaALBJ0V4KlMq5Q?q=80&s=1280x180&t=outside&f=webp)

## **워크플로 시작**

- CLI를 사용하여 직접 워크플로우를 시작할 수 있습니다. 저장된 워크플로를 ID별로 실행합니다:

- 워크플로우 ID는 URL에서 확인가능.

```
n8n execute --id <ID>
n8n execute --id NGgtX67xWcwx2a3I
```

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094751_YWt608YzpTybJSCnZt?q=80&s=1280x180&t=outside&f=webp)

- 아래 도커에서 Exec에 바로 입력해서 실행가능.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094751_c3JbmtQqnw3s3lo2lp?q=80&s=1280x180&t=outside&f=webp)

## **워크플로의 활성 상태 변경**

CLI를 사용하여 워크플로의 활성 상태를 변경할 수 있습니다.

**재시작 필요**

이 명령은 n8n 데이터베이스에서 작동합니다. n8n이 실행되는 동안 이를 실행하면 n8n을 다시 시작할 때까지 변경 사항이 적용되지 않습니다.

워크플로의 ID별 활성 상태를 거짓으로 설정합니다:

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

워크플로의 ID별 활성 상태를 true로 설정합니다:

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

모든 워크플로에 대해 활성 상태를 거짓으로 설정합니다:

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

모든 워크플로에 대해 활성 상태를 true로 설정합니다:

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

## **워크플로 및 자격 증명 내보내기**

CLI를 사용하여 n8n에서 워크플로와 자격 증명을 내보낼 수 있습니다.

명령 플래그:

| **Flag** | **Description** |
| --- | --- |
| --help | Help prompt. |
| --all | Exports all workflows/credentials. |
| --backup | Sets --all --pretty --separate for backups. You can optionally set --output. |
| --id | The ID of the workflow to export. |
| --output | Outputs file name or directory if using separate files. |
| --pretty | Formats the output in an easier to read fashion. |
| --separate | Exports one file per workflow (useful for versioning). Must set a directory using --output. |
| --decrypted | Exports the credentials in a plain text format. |

### **워크플로**

모든 워크플로를 표준 출력(터미널)으로 내보냅니다:

```
n8n export:workflow --all
```

워크플로를 ID별로 내보내고 출력 파일 이름을 지정합니다:

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

모든 워크플로를 단일 파일의 특정 디렉토리로 내보냅니다:

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

를 사용하여 모든 워크플로를 특정 디렉토리로 내보냅니다. `--backup` 플래그(위 details):

```
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` 플래그(위 details):

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

모든 자격 증명을 일반 텍스트 형식으로 내보냅니다. 이를 사용하여 구성 파일에 다른 비밀 키가 있는 설치에서 다른 설치로 마이그레이션할 수 있습니다.

- **민감한 정보**

    - 모든 민감한 정보는 파일에서 확인할 수 있습니다.

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

## **워크플로 및 자격 증명 가져오기**

CLI를 사용하여 n8n에서 워크플로와 자격 증명을 가져올 수 있습니다.

**ID 업데이트**

워크플로 및 자격 증명을 내보낼 때 n8n은 ID도 내보냅니다. 기존 데이터베이스에 동일한 ID를 가진 워크플로와 자격 증명이 있는 경우 덮어쓰기됩니다. 이를 방지하려면 가져오기 전에 ID를 삭제하거나 변경합니다.

사용 가능한 플래그:

| **Flag** | **Description** |
| --- | --- |
| --help | Help prompt. |
| --input | Input file name or directory if you use --separate. |
| --projectId | Import the workflow or credential to the specified project. Can't be used with `--userId`. |
| --separate | Imports `*.json` files from directory provided by --input. |
| --userId | Import the workflow or credential to the specified user. Can't be used with `--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 CLI를 사용하여 사용자 관리를 재설정할 수 있습니다. 이렇게 하면 사용자 관리가 사전 설정 상태로 돌아갑니다. 모든 사용자 계정을 제거합니다.

비밀번호를 잊어버리고 이메일로 비밀번호 재설정을 수행하도록 SMTP가 설정되어 있지 않은 경우 이 방법을 사용합니다.

```
n8n user-management:reset
```

### **사용자에 대한 MFA 비활성화**

사용자가 복구 코드를 분실한 경우 이 명령으로 사용자의 MFA를 비활성화할 수 있습니다. 그러면 사용자가 다시 로그인하여 MFA를 다시 설정할 수 있습니다.

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

### **LDAP 사용 안 함**

아래 명령을 사용하여 LDAP 설정을 재설정할 수 있습니다.

```
n8n ldap:reset
```

## **보안 감사**

n8n 인스턴스에 대한 [보안 감사](https://docs.n8n.io/hosting/logging-monitoring/security-audit/)를 실행하여 일반적인 보안 문제를 감지할 수 있습니다.

```
n8n audit
```

---

## Workflow Postgres DB 접속

- 데이터베이스 구조는 여기에서 확인 가능합니다.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094752_mgOL0rI0YTg9rEiLqb?q=80&s=1280x180&t=outside&f=webp)

- docker-compose.yml 파일로 실행된 Postgres에 접속하려면 다음과 같은 방법을 사용할 수 있습니다.

- iterm2 같은 별도 터미널에서 실행하려면, 우측 “Open in external terminal⁠” 을 누르시면 됩니다.

- `/#` 으로 나오면 컨테이너 내부 셀에 접속한 것.

- 컨테이너 내부에서 Postgres 데이터베이스에 접속하려면 psql 명령어를 사용해야 합니다. psql 명령어를 사용하려면 다음과 같이 입력하세요:

    - <username>: docker-compose.yml에서 설정한 POSTGRES_USER.

    - <database>: docker-compose.yml에서 설정한 POSTGRES_DB.

```
psql -U <username> -d <database>
```

- docker-compose.yml에 초기 설정값은 다음과 같습니다.

    - POSTGRES_USER=root
    - POSTGRES_PASSWORD=password
    - POSTGRES_DB=n8n

- 해서, `psql -U root -d n8n` 으로 입력하시면 됩니다.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094753_LyvmA3i17dWBLDhwTM?q=80&s=1280x180&t=outside&f=webp)

- `\dt` 명령어는 현재 데이터베이스의 테이블 목록을 보여줍니다.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094753_dl2jxHVluRAHTUXo4Q?q=80&s=1280x180&t=outside&f=webp)

**1. 테이블의 구조 확인하기**

- 특정 테이블의 구조(컬럼 정보, 데이터 타입 등)를 확인하려면 \d <table_name>을 사용합니다.

- `\d user` 

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094754_yBga4l1ZMhgfev8BRB?q=80&s=1280x180&t=outside&f=webp)

1. ** 테이블의 데이터 조회하기**

- 테이블의 데이터를 조회하려면 일반적인 SQL 쿼리를 사용하면 됩니다. 예를 들어 user 테이블에서 모든 데이터를 가져오려면:

- `SELECT * FROM user;`

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094754_bX0AtAMIzidsuLE0BS?q=80&s=1280x180&t=outside&f=webp)

1. 추가, 수정, 삭제 

    1. INSERT INTO user (id, name, email) VALUES (1, 'Alice', 'alice@example.com');

    2. UPDATE user SET name = 'Bob' WHERE id = 1;

    3. DELETE FROM user WHERE id = 1;

2. ** 셸 나가기**

- `\q` 로 종료합니다.

For the site tree, see the [root Markdown](https://slashpage.com/n8n-guide.md).
