크론 표현식의 기본 구조
크론 표현식은 5개의 필드로 이루어져 있습니다: 분(0-59), 시(0-23), 일(1-31), 월(1-12), 요일(0-6, 0=일요일). 각 필드에는 특수 문자를 사용할 수 있습니다. 별표(*)는 '모든 값'을 의미하고, 슬래시(/)는 '간격'을 나타냅니다. 예를 들어 '*/5'는 5분마다를 의미합니다. 하이픈(-)은 범위를 나타내고, 쉼표(,)는 여러 값을 나열할 때 사용됩니다.
크론의 실무 활용 분야
크론은 서버 유지보수, 데이터베이스 백업, 로그 파일 정리, API 데이터 수집 등 다양한 자동화 작업에 사용됩니다. 웹 개발자, 시스템 관리자, 데이터 엔지니어라면 크론을 필수적으로 이해해야 합니다. 클라우드 환경에서도 AWS EventBridge, Google Cloud Scheduler 등이 동일한 크론 문법을 채용합니다. 잘못 설정하면 서버에 불필요한 부하를 줄 수 있으므로 표현식을 반드시 검증하고 사용하세요.
자주 사용되는 크론 표현식
매일 자정: 0 0 * * * | 매시간: 0 * * * * | 매주 월요일 9시: 0 9 * * 1 | 매월 1일: 0 0 1 * * | 매일 오후 12시: 0 12 * * * | 평일(월~금) 오전 8시: 0 8 * * 1-5 | 5분마다: */5 * * * *
자주 묻는 질문
Q. 요일은 0부터 시작하나요?
A. 네. 0=일요일, 1=월요일, ..., 6=토요일입니다. 일부 시스템은 7을 일요일로도 허용합니다.
Q. 초(second) 필드는 없나요?
A. 표준 크론은 분 단위입니다. 초 단위 실행이 필요하면 다른 스케줄러(systemd timer 등)를 사용해야 합니다.
Q. 크론 표현식 오류를 어떻게 디버깅하나요?
A. crontab -l 로 현재 크론 목록을 확인하고, /var/log/cron 또는 시스템 로그에서 실행 기록을 확인하세요. 권한 문제와 환경 변수 차이를 주의하세요.