크론탭 스케줄 표현식을 쉽게 생성하세요
0 * * * *Cron은 유닉스 계열 운영체제에서 특정 시간에 명령이나 스크립트를 자동으로 실행하도록 예약하는 작업 스케줄러입니다. 서버 백업, 로그 정리, 이메일 발송 등 반복적인 작업을 자동화하는 데 필수적으로 사용됩니다. Linux와 macOS에 기본 내장되어 있으며 crontab 명령으로 관리합니다.
Cron 표현식은 분, 시, 일, 월, 요일 순서로 5개 필드로 구성됩니다. 각 필드는 숫자, 와일드카드(*), 범위(-), 목록(,), 간격(/) 등의 특수 문자를 사용할 수 있습니다. 예를 들어 `0 9 * * 1-5`는 평일 오전 9시 정각에 실행되는 표현식입니다.
`* * * * *`는 매 분마다, `0 * * * *`는 매 시간 정각, `0 0 * * *`는 매일 자정, `0 0 * * 0`은 매주 일요일 자정에 실행됩니다. `*/15 * * * *`처럼 간격 표기를 사용하면 15분마다 실행하도록 설정할 수 있습니다. 이 생성기의 빠른 선택 버튼으로 자주 쓰는 패턴을 손쉽게 적용할 수 있습니다.
기본 Cron은 서버의 시스템 시간을 기준으로 동작합니다. 특정 시간대를 사용하려면 서버의 타임존을 변경하거나, systemd 타이머나 AWS EventBridge 같은 도구에서 타임존 옵션을 별도로 지정해야 합니다. 한국 표준시(KST)는 UTC+9이므로 UTC 기준 서버에서 오전 9시 실행은 `0 0 * * *`로 설정해야 합니다.
Cron 데몬은 백그라운드에서 지속적으로 실행되며 매 분마다 crontab 파일을 확인합니다. 현재 시간과 일치하는 표현식이 있으면 해당 명령을 실행합니다. 각 사용자는 자신의 crontab을 가질 수 있으며 `crontab -e` 명령으로 편집하고 `crontab -l`로 현재 설정을 확인할 수 있습니다.
웹 서버 운영에서 Cron은 매일 새벽 데이터베이스 백업, 매시간 로그 파일 압축, 주기적인 캐시 초기화, 정기 통계 집계 등에 활용됩니다. Node.js 환경에서는 node-cron, Python에서는 APScheduler, Java에서는 Spring Scheduler 등 각 언어별 라이브러리도 동일한 Cron 표현식 문법을 사용합니다.
AWS Lambda + EventBridge, Google Cloud Scheduler, Azure Logic Apps 등 클라우드 서비스에서도 Cron 표현식을 지원합니다. 클라우드 기반 스케줄러는 서버 없이도 정기 작업을 실행할 수 있어 서버리스 아키텍처에서 특히 유용합니다. AWS EventBridge는 6개 필드 Cron 표현식(초 필드 추가)을 사용하므로 주의가 필요합니다.