스케줄 트리거

스케줄 트리거 (Schedule Trigger)

고정된 간격과 시각에 워크플로를 실행하고 싶을 때 스케줄 트리거(Schedule Trigger) 노드를 써요. 동작 방식은 유닉스 계열 시스템의 Cron 유틸리티와 비슷합니다.

워크플로를 꼭 게시(publish)해야 해요

스케줄 노드를 트리거로 쓰는 워크플로라면, 저장하고 게시까지 마쳐야 합니다.

타임존 설정

이 노드는 타임존 설정에 의존합니다. n8n은 다음 순서로 타임존을 사용해요.

  1. 워크플로 타임존이 설정되어 있으면 그 값을 씁니다. 자세한 내용은 워크플로 설정을 참고하세요.
  2. 워크플로 타임존이 없으면 n8n 인스턴스 타임존을 사용합니다. 셀프호스트 인스턴스의 기본값은 America/New York이에요. n8n Cloud는 가입할 때 인스턴스 소유자의 타임존을 감지하려고 시도하며, 실패하면 GMT로 기본 설정됩니다. 셀프호스트 사용자는 환경 변수로 인스턴스 설정을 바꿀 수 있어요. Cloud 관리자는 Admin 대시보드에서 인스턴스 타임존을 변경할 수 있습니다.

노드 파라미터

트리거가 언제 실행될지 트리거 규칙(Trigger Rules) 을 추가해요.

트리거 간격(Trigger Interval) 으로 트리거를 예약할 시간 간격 단위를 고릅니다. 나머지 파라미터는 선택한 간격에 따라 달라져요. 선택지는 다음과 같습니다.

서로 다른 스케줄로 실행하려면 트리거 규칙을 여러 개 추가하면 됩니다. 각 간격 설정 방법은 아래 절을 참고하고, 더 많은 예시는 템플릿과 예시를 확인하세요.

초(Sec) 트리거 간격

  • 트리거 사이 초(Seconds Between Triggers): 트리거 사이의 초 단위 간격을 입력해요. 예를 들어 여기에 30을 넣으면 30초마다 실행됩니다.

분(Min) 트리거 간격

  • 트리거 사이 분(Minutes Between Triggers): 트리거 사이의 분 단위 간격을 입력해요. 예를 들어 5를 넣으면 5분마다 실행됩니다.

시(Hour) 트리거 간격

  • 트리거 사이 시(Hours Between Triggers): 트리거 사이의 시 단위 간격을 입력해요.
  • 트리거 시각 분(Trigger at Minute): 실행되는 시각에서 몇 분에 트리거할지 0~59 사이로 입력합니다.

예를 들어 트리거 사이 시6, 트리거 시각 분30을 넣으면 6시간마다 정각 30분에 실행돼요.

일(Day) 트리거 간격

  • 트리거 사이 일(Days Between Triggers): 트리거 사이의 일 단위 간격을 입력해요.
  • 트리거 시각 시(Trigger at Hour): 요일 중 몇 시에 트리거할지 고릅니다.
  • 트리거 시각 분(Trigger at Minute): 실행되는 시각에서 몇 분에 트리거할지 0~59 사이로 입력합니다.

예를 들어 트리거 사이 일2, 트리거 시각 시오전 9시, 트리거 시각 분15를 넣으면 이틀마다 오전 9시 15분에 실행됩니다.

주(Week) 트리거 간격

  • 트리거 사이 주(Weeks Between Triggers): 트리거 사이의 주 단위 간격을 입력해요.
  • 트리거 요일(Trigger on Weekdays): 트리거할 요일을 고릅니다.
  • 트리거 시각 시(Trigger at Hour): 몇 시에 트리거할지 고릅니다.
  • 트리거 시각 분(Trigger at Minute): 몇 분에 트리거할지 0~59 사이로 입력합니다.

예를 들어 트리거 사이 주2, 트리거 요일월요일, 트리거 시각 시오후 3시, 트리거 시각 분30을 넣으면 2주마다 월요일 오후 3시 30분에 실행됩니다.

월(Month) 트리거 간격

  • 트리거 사이 월(Months Between Triggers): 트리거 사이의 월 단위 간격을 입력해요.
  • 트리거 일(Trigger at Day of Month): 몇 일에 트리거할지 1~31 사이로 입력합니다. 해당 월에 그 날짜가 없으면 트리거하지 않아요. 예를 들어 30을 넣으면 2월에는 실행되지 않습니다.
  • 트리거 시각 시(Trigger at Hour): 몇 시에 트리거할지 고릅니다.
  • 트리거 시각 분(Trigger at Minute): 몇 분에 트리거할지 0~59 사이로 입력합니다.

예를 들어 트리거 사이 월3, 트리거 일28, 트리거 시각 시오전 9시, 트리거 시각 분0을 넣으면 분기마다 28일 오전 9시에 실행됩니다.

커스텀(Cron) 간격

트리거 스케줄을 정하려면 커스텀 cron 표현식(Expression) 을 입력해요.

Cron 표현식을 만들 때는 crontab guru를 쓸 수 있습니다. crontab guru로 생성한 표현식을 n8n의 표현식 필드에 붙여넣으세요.

예시

유형 Cron 표현식 설명
매 X초 */10 * * * * * 10초마다
매 X분 */5 * * * * 5분마다
매시간 0 * * * * 매시간 정각
매일 0 6 * * * 매일 오전 6시
매주 0 12 * * 1 매주 월요일 정오
매월 0 0 1 * * 매월 1일 자정
매 X일 0 0 */3 * * 3일마다 자정
평일만 0 9 * * 1-5 월요일부터 금요일까지 오전 9시
커스텀 시간 범위 0 9-17 * * * 매일 오전 9시부터 오후 5시까지 매시간
분기별 0 0 1 1,4,7,10 * 1월·4월·7월·10월 1일 자정

Cron 표현식에서 변수 사용

변수는 스케줄드 트리거에서 쓸 수 있지만, 값은 워크플로를 게시할 때만 평가돼요. 게시 후 설정에서 변수 값을 바꿔도 cron 스케줄에는 반영되지 않습니다. 변수를 다시 평가하려면 워크플로를 게시 취소한 뒤 다시 게시하세요.

Cron 표현식에 별표가 여섯 개인 이유

Cron 표현식에서 여섯 번째 별표는 초(second) 를 나타냅니다. 설정은 선택사항이에요. 초 값을 넣지 않아도 노드는 실행됩니다.

*    *    *    *    *    *
(초) 분  시  일  월  요일(일-토)

노드 옵션

노드의 설정(Settings) 탭에는, 예를 들어 인스턴스가 다운되어 스케줄 시간을 놓친 실행을 어떻게 처리할지 제어하는 옵션이 있어요.

  • 실행을 놓친 경우(If Execution Is Missed): 놓친 실행을 어떻게 할지 고릅니다.
    • 놓친 실행 실행 안 함(Don't Run Missed Executions) (기본값): 놓친 실행은 버리고 스케줄대로 재개합니다.
    • 가장 최근의 놓친 실행 실행(Run the Most Recent Missed Execution): 가장 최근의 놓친 시각에 단일 따라잡기(catch-up) 실행을 하고 스케줄대로 재개해요.
    • 규칙별로 가장 최근의 놓친 실행 실행(Run the Most Recent Missed Execution Per Rule): 이전 옵션과 같지만, 각 트리거 규칙이 자신의 따라잡기 실행을 수행합니다.
  • 놓친 실행 유예 기간(초)(Missed Execution Grace Period (Seconds)): 실행이 몇 초 늦어지면 놓친 것으로 간주할지 정합니다. 0으로 두면 인스턴스 설정(N8N_SCHEDULER_MISFIRE_GRACE, 기본 60초)을 사용해요. n8n은 인스턴스 최소값(기본 설정에서 60초)보다 낮은 값은 그 최소값으로 올리고, 30일 이상의 값은 상한으로 제한합니다.

기능 가용성

이 옵션들은 n8n 2.36부터, 해당 버전 이후에 추가된 Schedule Trigger 노드에서 사용할 수 있어요. 인스턴스가 durable 스케줄러를 실행할 때만 효과가 있으며, 기본 인메모리 스케줄러는 놓친 실행을 절대 실행하지 않습니다.

템플릿과 예시

n8n-nodes-base.scheduletrigger 통합 템플릿 보기 또는 모든 템플릿 검색

흔한 문제

흔한 질문·이슈와 해결책은 흔한 문제(Common Issues)를 참고하세요.