실행 데이터 관리
실행 설정 및 볼륨에 따라 n8n 데이터베이스가 크기가 증가하여 스토리지가 부족할 수 있습니다. 이를 방지하기 위해 n8n은 불필요한 데이터를 저장하지 않고 오래된 실행 데이터의 정리를 활성화하도록 권장합니다. 이를 위해 해당 환경 변수를 설정합니다.
실행 설정 및 볼륨에 따라 n8n 데이터베이스가 크기가 증가하여 스토리지가 부족할 수 있습니다.
이를 방지하기 위해 n8n은 불필요한 데이터를 저장하지 않고 오래된 실행 데이터의 정리를 활성화하도록 권장합니다.
이를 위해 해당 환경 변수를 설정합니다.
저장 데이터 줄이기#
워크플로 설정을 사용하여 개별 워크플로 단위로 이러한 설정을 구성할 수도 있습니다.
n8n이 저장하는 실행 데이터를 선택할 수 있습니다. 예를 들어 Error로 끝나는 실행만 저장할 수 있습니다.
# npm
# 오류로 끝나는 실행 저장
export EXECUTIONS_DATA_SAVE_ON_ERROR=all
# 성공한 실행 저장하지 않음
export EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
# 각 실행에 대한 노드 진행 상황 저장하지 않음
export EXECUTIONS_DATA_SAVE_ON_PROGRESS=false
# 수동으로 시작된 실행 저장하지 않음
export EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false
# Docker
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e EXECUTIONS_DATA_SAVE_ON_ERROR=all \
-e EXECUTIONS_DATA_SAVE_ON_SUCCESS=none \
-e EXECUTIONS_DATA_SAVE_ON_PROGRESS=true \
-e EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false \
docker.n8n.io/n8nio/n8n
# Docker Compose
n8n:
environment:
- EXECUTIONS_DATA_SAVE_ON_ERROR=all
- EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
- EXECUTIONS_DATA_SAVE_ON_PROGRESS=true
- EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false
실행 정리 활성화#
실행 정리는 정기적인 일정에 따라 완료된 실행과 해당 실행 데이터 및 바이너리 데이터를 삭제합니다. n8n은 기본적으로 정리를 활성화합니다. 성능상의 이유로 정리는 먼저 삭제 대상을 표시한 다음 나중에 영구적으로 제거합니다.
n8n은 다음 조건 중 하나가 발생할 때 실행을 정리합니다:
- 기간:
EXECUTIONS_DATA_MAX_AGE시간 전에 실행이 완료된 경우(기본값: 336시간 -> 14일). - 수: 총 실행 수가
EXECUTIONS_DATA_PRUNE_MAX_COUNT를 초과하는 경우(기본값: 10,000). 이 경우 n8n은 오래된 것부터 새로운 것 순으로 실행을 삭제합니다.
유의 사항:
new,running,waiting상태의 실행은 정리 대상이 아닙니다.- 주석이 달린 실행(예: 태그나 평점이 있는 실행)은 절대 정리되지 않습니다.
- 정리는
EXECUTIONS_DATA_HARD_DELETE_BUFFER시간(기본값: 1시간)의 안전 버퍼 기간을 유지하여 사용자가 워크플로를 빌드하거나 디버깅하는 동안 최근 데이터를 사용할 수 있도록 합니다.
# 실행 정리 활성화
export EXECUTIONS_DATA_PRUNE=true
# 완료된 실행이 소프트 삭제 대상이 되려면 얼마나 오래(시간) 되어야 하는지
export EXECUTIONS_DATA_MAX_AGE=168
# 보관할 완료된 실행의 최대 수. 정확한 최대 수로 정확히 정리되지 않을 수 있습니다. 무제한으로 설정하려면 `0`으로 설정합니다.
export EXECUTIONS_DATA_PRUNE_MAX_COUNT=50000
# Docker
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e EXECUTIONS_DATA_PRUNE=true \
-e EXECUTIONS_DATA_MAX_AGE=168 \
docker.n8n.io/n8nio/n8n
# Docker Compose
n8n:
environment:
- EXECUTIONS_DATA_PRUNE=true
- EXECUTIONS_DATA_MAX_AGE=168
- EXECUTIONS_DATA_PRUNE_MAX_COUNT=50000
기본 SQLite 데이터베이스를 사용하여 n8n을 실행하는 경우 정리된 데이터의 디스크 공간이 자동으로 해제되지 않고 향후 실행 데이터를 위해 재사용됩니다. 이 공간을 해제하려면 DB_SQLITE_VACUUM_ON_STARTUP 환경 변수를 설정하거나 수동으로 VACUUM 작업을 실행합니다.
바이너리 데이터 정리는 현재 활성화된 바이너리 데이터 모드를 기준으로 동작합니다. 예를 들어, 인스턴스가 S3에 데이터를 저장하다가 나중에 파일시스템 모드로 전환한 경우, n8n은 파일시스템의 바이너리 데이터만 정리합니다. 이 동작은 향후 변경될 수 있습니다.
