스케줄 트리거
스케줄 트리거 (Schedule Trigger)
고정된 간격과 시각에 워크플로를 실행하고 싶을 때 스케줄 트리거(Schedule Trigger) 노드를 써요. 동작 방식은 유닉스 계열 시스템의 Cron 유틸리티와 비슷합니다.
워크플로를 꼭 게시(publish)해야 해요
스케줄 노드를 트리거로 쓰는 워크플로라면, 저장하고 게시까지 마쳐야 합니다.
타임존 설정
이 노드는 타임존 설정에 의존합니다. n8n은 다음 순서로 타임존을 사용해요.
- 워크플로 타임존이 설정되어 있으면 그 값을 씁니다. 자세한 내용은 워크플로 설정을 참고하세요.
- 워크플로 타임존이 없으면 n8n 인스턴스 타임존을 사용합니다. 셀프호스트 인스턴스의 기본값은
America/New York이에요. n8n Cloud는 가입할 때 인스턴스 소유자의 타임존을 감지하려고 시도하며, 실패하면 GMT로 기본 설정됩니다. 셀프호스트 사용자는 환경 변수로 인스턴스 설정을 바꿀 수 있어요. Cloud 관리자는 Admin 대시보드에서 인스턴스 타임존을 변경할 수 있습니다.
노드 파라미터
트리거가 언제 실행될지 트리거 규칙(Trigger Rules) 을 추가해요.
트리거 간격(Trigger Interval) 으로 트리거를 예약할 시간 간격 단위를 고릅니다. 나머지 파라미터는 선택한 간격에 따라 달라져요. 선택지는 다음과 같습니다.
- 초(Seconds) 트리거 간격
- 분(Minutes) 트리거 간격
- 시(Hours) 트리거 간격
- 일(Days) 트리거 간격
- 주(Weeks) 트리거 간격
- 월(Months) 트리거 간격
- 커스텀(Cron) 간격
서로 다른 스케줄로 실행하려면 트리거 규칙을 여러 개 추가하면 됩니다. 각 간격 설정 방법은 아래 절을 참고하고, 더 많은 예시는 템플릿과 예시를 확인하세요.
초(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)를 참고하세요.