InfoGrab Docs

Execute Command

요약

Execute Command 노드는 n8n이 실행되는 호스트 머신에서 셸 명령어를 실행합니다. Execute Command 노드는 신뢰할 수 없는 사용자가 있는 환경에서 심각한 보안 위험을 초래할 수 있습니다. 이 노드는 호스트 머신의 기본 셸에서 명령어를 실행합니다.

Execute Command 노드는 n8n이 실행되는 호스트 머신에서 셸 명령어를 실행합니다.

보안 고려 사항

Execute Command 노드는 신뢰할 수 없는 사용자가 있는 환경에서 심각한 보안 위험을 초래할 수 있습니다. 이러한 이유로 버전 2.0부터 이 노드는 기본적으로 비활성화되어 있습니다.

어떤 셸이 명령어를 실행하나요?

이 노드는 호스트 머신의 기본 셸에서 명령어를 실행합니다. 예를 들어, Windows에서는 cmd, macOS에서는 zsh가 사용됩니다.

Docker로 n8n을 실행하는 경우, 명령어는 Docker 호스트가 아닌 n8n 컨테이너에서 실행됩니다.

큐 모드를 사용하는 경우, 명령어는 프로덕션 모드에서 태스크를 실행 중인 워커에서 실행됩니다. 수동 실행 시에는 OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERStrue로 설정하지 않는 한 메인 인스턴스에서 실행됩니다.

Cloud에서는 사용 불가

이 노드는 n8n Cloud에서 사용할 수 없습니다.

노드 파라미터#

다음 파라미터를 사용하여 노드를 구성합니다.

Execute Once#

노드를 한 번만 실행(켜짐)할지, 입력으로 받은 모든 항목에 대해 한 번씩 실행(꺼짐)할지 선택합니다.

Command#

호스트 머신에서 실행할 명령어를 입력합니다. 여러 명령어 실행cURL 명령어 실행 예시는 아래 섹션을 참조하세요.

여러 명령어 실행#

하나의 Execute Command 노드에서 여러 명령어를 실행하는 두 가지 방법이 있습니다:

  • 각 명령어를 &&로 구분하여 한 줄에 입력합니다. 예를 들어, &&를 사용하여 디렉터리 변경(cd) 명령어와 목록 확인(ls) 명령어를 결합할 수 있습니다.

    cd bin && ls
    
  • 각 명령어를 별도 줄에 입력합니다. 예를 들어, 디렉터리 변경(cd) 명령어 다음 줄에 목록 확인(ls) 명령어를 작성할 수 있습니다.

    cd bin
    ls
    

cURL 명령어 실행#

HTTP Request 노드를 사용하여 cURL 요청을 할 수도 있습니다.

Execute Command 노드에서 curl 명령어를 실행하려면 기존 n8n 이미지를 기반으로 Docker 이미지를 빌드해야 합니다. 기본 n8n Docker 이미지는 Alpine Linux를 사용합니다. curl 패키지를 설치해야 합니다.

  1. Dockerfile이라는 파일을 생성합니다.

  2. Dockerfile에 아래 코드 스니펫을 추가합니다.

    FROM docker.n8n.io/n8nio/n8n
    USER root
    RUN apk --update add curl
    USER node
    
  3. 동일 폴더에서 아래 명령어를 실행하여 Docker 이미지를 빌드합니다.

    docker build -t n8n-curl
    
  4. 이전에 사용하던 Docker 이미지를 교체합니다. 예를 들어, docker.n8n.io/n8nio/n8nn8n-curl로 교체합니다.

  5. 새로 생성한 Docker 이미지를 실행합니다. 이제 Execute Command 노드에서 ssh를 실행할 수 있습니다.

템플릿 및 예시#

이 노드의 워크플로 템플릿은 n8n 워크플로 템플릿 갤러리에서 확인할 수 있습니다.

자주 발생하는 문제#

자주 묻는 질문이나 문제 및 해결 방법은 자주 발생하는 문제를 참조하세요.

Execute Command

원문 보기
요약

Execute Command 노드는 n8n이 실행되는 호스트 머신에서 셸 명령어를 실행합니다. Execute Command 노드는 신뢰할 수 없는 사용자가 있는 환경에서 심각한 보안 위험을 초래할 수 있습니다. 이 노드는 호스트 머신의 기본 셸에서 명령어를 실행합니다.

Execute Command 노드는 n8n이 실행되는 호스트 머신에서 셸 명령어를 실행합니다.

보안 고려 사항

Execute Command 노드는 신뢰할 수 없는 사용자가 있는 환경에서 심각한 보안 위험을 초래할 수 있습니다. 이러한 이유로 버전 2.0부터 이 노드는 기본적으로 비활성화되어 있습니다.

어떤 셸이 명령어를 실행하나요?

이 노드는 호스트 머신의 기본 셸에서 명령어를 실행합니다. 예를 들어, Windows에서는 cmd, macOS에서는 zsh가 사용됩니다.

Docker로 n8n을 실행하는 경우, 명령어는 Docker 호스트가 아닌 n8n 컨테이너에서 실행됩니다.

큐 모드를 사용하는 경우, 명령어는 프로덕션 모드에서 태스크를 실행 중인 워커에서 실행됩니다. 수동 실행 시에는 OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERStrue로 설정하지 않는 한 메인 인스턴스에서 실행됩니다.

Cloud에서는 사용 불가

이 노드는 n8n Cloud에서 사용할 수 없습니다.

노드 파라미터#

다음 파라미터를 사용하여 노드를 구성합니다.

Execute Once#

노드를 한 번만 실행(켜짐)할지, 입력으로 받은 모든 항목에 대해 한 번씩 실행(꺼짐)할지 선택합니다.

Command#

호스트 머신에서 실행할 명령어를 입력합니다. 여러 명령어 실행cURL 명령어 실행 예시는 아래 섹션을 참조하세요.

여러 명령어 실행#

하나의 Execute Command 노드에서 여러 명령어를 실행하는 두 가지 방법이 있습니다:

  • 각 명령어를 &&로 구분하여 한 줄에 입력합니다. 예를 들어, &&를 사용하여 디렉터리 변경(cd) 명령어와 목록 확인(ls) 명령어를 결합할 수 있습니다.

    cd bin && ls
    
  • 각 명령어를 별도 줄에 입력합니다. 예를 들어, 디렉터리 변경(cd) 명령어 다음 줄에 목록 확인(ls) 명령어를 작성할 수 있습니다.

    cd bin
    ls
    

cURL 명령어 실행#

HTTP Request 노드를 사용하여 cURL 요청을 할 수도 있습니다.

Execute Command 노드에서 curl 명령어를 실행하려면 기존 n8n 이미지를 기반으로 Docker 이미지를 빌드해야 합니다. 기본 n8n Docker 이미지는 Alpine Linux를 사용합니다. curl 패키지를 설치해야 합니다.

  1. Dockerfile이라는 파일을 생성합니다.

  2. Dockerfile에 아래 코드 스니펫을 추가합니다.

    FROM docker.n8n.io/n8nio/n8n
    USER root
    RUN apk --update add curl
    USER node
    
  3. 동일 폴더에서 아래 명령어를 실행하여 Docker 이미지를 빌드합니다.

    docker build -t n8n-curl
    
  4. 이전에 사용하던 Docker 이미지를 교체합니다. 예를 들어, docker.n8n.io/n8nio/n8nn8n-curl로 교체합니다.

  5. 새로 생성한 Docker 이미지를 실행합니다. 이제 Execute Command 노드에서 ssh를 실행할 수 있습니다.

템플릿 및 예시#

이 노드의 워크플로 템플릿은 n8n 워크플로 템플릿 갤러리에서 확인할 수 있습니다.

자주 발생하는 문제#

자주 묻는 질문이나 문제 및 해결 방법은 자주 발생하는 문제를 참조하세요.