크론 표현식 파서

크론 표현식을 구문 분석하고 실행 시점에 대한 사람이 읽을 수 있는 설명을 확인하세요. 크론 작업 일정을 만들거나 이해해야 하는 개발자 및 시스템 관리자에게 적합합니다. 크론 표현식이 실행되는 시점을 정확히 시각화하여 스케줄링 실수를 방지하세요.

자주 묻는 질문

크론 표현식은 유닉스 계열 시스템에서 자동화된 작업의 일정을 정의하는 5~6개의 필드로 구성된 문자열입니다. 필드는 분(0-59), 시(0-23), 요일(1-31), 월(1-12), 요일(0-7, 여기서 0과 7은 일요일)을 나타냅니다. 예를 들어 '0 9 * * 1'은 '매주 월요일 오전 9:00에 실행'을 의미합니다.

분, 시, 일, 월, 요일을 나타내는 별표 5개(* * * * *)로 시작합니다. 별표를 특정 값이나 범위로 바꿉니다. 예를 들어 '30 14 * * *'는 매일 오후 2시 30분에 실행, '0 0 1 * *'는 매월 1일 자정에 실행, '* 15 * * * *'는 15분마다 실행합니다. 파서를 사용하여 표현식이 예상한 대로 작동하는지 확인하세요.

별표는 해당 시간 단위의 '모든' 또는 '어떤'을 의미합니다. 예를 들어 시간 필드에서 *는 매시간, 일 필드에서 *는 매일을 의미합니다. 따라서 '0 * * * *'은 '매시간 0분 0초'를 의미하고(시간별), '* * * * *'는 '매분'을 의미합니다. 와일드카드는 해당 필드에 가능한 모든 값과 일치하는 와일드카드입니다.

단계 값 구문을 사용합니다: */N. 5분마다: '*/5 * * * *'. 3시간마다: '0 */3 * * *'. N 구문은 '매 N번째 값'을 의미하므로 분 필드에서 */5는 분 0, 5, 10, 15 등을 의미합니다. 처음 30분 동안 매 5분마다 '0-30/5'와 같은 단계가 있는 범위를 사용할 수도 있습니다.

예! 요일 필드(다섯 번째 필드)에 1~5를 사용합니다. 예를 들어 '0 9 * * 1-5'는 월요일부터 금요일까지 오전 9시에 실행됩니다. 월요일은 1, 금요일은 5입니다. 특정 요일을 나열할 수도 있습니다. '0 9 * * 1,3,5'는 월요일, 수요일, 금요일 오전 9시에만 실행됩니다.

작업이 실행되는 요일을 지정하는 두 가지 방법이 있습니다. 월별 요일(세 번째 필드)은 날짜 1~31을 사용하고 요일(다섯 번째 필드)은 0~7(0과 7은 일요일)을 사용합니다. 둘 다 지정하면(*가 아닌) 두 조건 중 하나가 일치할 때 작업이 실행됩니다. 예를 들어 '0 0 1 * 1'은 매월 1일 자정 및 매주 월요일에 실행됩니다.

평일 오전 9시부터 오후 5시까지: 매 시간 시작 시 '0 9-17 * * 1-5'가 실행됩니다. 업무 시간 중 매 30분마다: '*/30 9-17 * * 1-5'. 9-17은 오전 9시부터 오후 5시까지, 1-5는 월요일부터 금요일까지로 실행을 제한합니다.

둘 다 매일 자정에 실행된다는 점은 동일합니다. 많은 크론 구현은 @daily, @hourly, @weekly, @monthly, @yearly와 같은 특수 문자열을 바로 가기로 지원합니다. 이러한 문자열은 전체 표현식보다 가독성은 높지만 유연성은 떨어집니다. 일반적인 간격에는 바로 가기를 사용하고 사용자 지정 일정에는 전체 표현식을 사용하세요.

표준 크론 표현식은 서버의 시스템 시간을 기준으로 실행됩니다. 시간대를 처리하려면 서버의 표준 시간대를 올바르게 설정하거나 시차를 계산하세요. 일부 고급 크론 구현은 시간대 사양을 지원하지만 기본 5필드 형식에는 시간대 정보가 포함되지 않습니다.

Cron 표현식 파서를 사용하여 표현식에 예상 일정 설명이 표시되는지 확인하세요. 구문 분석기는 작업이 언제 실행될지 일반 영어로 설명하여 프로덕션에 배포하기 전에 '0 9 31 2 *'(2월 31일이 존재하지 않음)와 같은 오류를 잡아낼 수 있도록 도와줍니다.