Cron 가이드
가이드

Cron이란? crontab 기초 이해

스케줄러의 기본 개념과 5필드 구조

Cron은 유닉스·리눅스 계열 시스템에서 정해진 시각마다 명령이나 스크립트를 자동으로 실행해 주는 시간 기반 작업 스케줄러입니다. 백업, 로그 정리, 데이터 동기화처럼 주기적으로 반복해야 하는 작업을 사람이 매번 실행하지 않도록 예약해 둘 때 씁니다.

실행할 작업의 목록은 crontab(cron table)이라는 표에 한 줄에 하나씩 적습니다. 각 줄은 언제 실행할지를 나타내는 스케줄 표현식과 무엇을 실행할지를 나타내는 명령으로 이루어집니다. 표준 스케줄 표현식은 공백으로 구분된 5개 필드입니다: 분(0-59) · 시(0-23) · 일(1-31) · 월(1-12) · 요일(0-6, 0=일요일).

예를 들어 30 9 * * 1-5는 '분=30, 시=9, 일=모두, 월=모두, 요일=월~금'을 뜻하므로 평일 오전 9시 30분에 실행됩니다. *는 '해당 필드의 모든 값'을 의미하고, */5처럼 쓰면 '5마다'라는 간격을 지정할 수 있습니다.

cron 데몬은 매 분마다 등록된 모든 표현식을 확인해, 현재 시각과 일치하는 작업을 실행합니다. 그래서 cron으로 만들 수 있는 최소 주기는 1분입니다. 더 짧은 주기가 필요하면 스크립트 내부에서 반복하거나 다른 방식을 써야 합니다.

표현식이 복잡해지면 눈으로 읽기 어렵습니다. 위쪽 도구에 표현식을 붙여넣으면 사람이 읽는 문장으로 해석하고 다음 실행 시각을 미리 보여 주므로, 원하는 스케줄이 맞는지 바로 확인할 수 있습니다.

자료

스케줄 모음

복사해서 바로 쓰는 레시피

문법 치트시트

5개 필드와 특수문자 한눈에

매크로·별칭

@daily 같은 축약 표현

가이드

cron을 제대로 이해하고 실수를 줄이는 실전 가이드