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_WORKERS를 true로 설정하지 않는 한 메인 인스턴스에서 실행됩니다.
이 노드는 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 패키지를 설치해야 합니다.
-
Dockerfile이라는 파일을 생성합니다. -
Dockerfile에 아래 코드 스니펫을 추가합니다.
FROM docker.n8n.io/n8nio/n8n USER root RUN apk --update add curl USER node -
동일 폴더에서 아래 명령어를 실행하여 Docker 이미지를 빌드합니다.
docker build -t n8n-curl -
이전에 사용하던 Docker 이미지를 교체합니다. 예를 들어,
docker.n8n.io/n8nio/n8n을n8n-curl로 교체합니다. -
새로 생성한 Docker 이미지를 실행합니다. 이제 Execute Command 노드에서 ssh를 실행할 수 있습니다.
템플릿 및 예시#
이 노드의 워크플로 템플릿은 n8n 워크플로 템플릿 갤러리에서 확인할 수 있습니다.
자주 발생하는 문제#
자주 묻는 질문이나 문제 및 해결 방법은 자주 발생하는 문제를 참조하세요.
