크론탭(Cron) 사용법
crontab 명령어, 스케줄 표현식, 자주 쓰는 예약 예시
데이터는 서버로 전송되지 않습니다 — 모든 처리는 브라우저 안에서만 서버 전송 0건
crontab 기본 명령
-
crontab -e내 크론탭을 편집합니다 (저장하면 즉시 적용)
-
crontab -l등록된 크론탭 목록을 확인합니다
-
crontab -r내 크론탭을 전부 삭제합니다 ※ 확인 없이 삭제되므로 주의
-
sudo crontab -u 사용자 -l다른 사용자의 크론탭을 확인합니다
-
sudo systemctl status cron크론 데몬 상태를 확인합니다 (RHEL계는 crond)
-
cat /etc/crontab시스템 전역 크론탭을 확인합니다 (사용자 필드 포함 6필드)
스케줄 표현식 — 5필드 구조
왼쪽부터 분(0-59) 시(0-23) 일(1-31) 월(1-12) 요일(0-7, 0과 7은 일요일) 순서입니다. * 은 모든 값, */n 은 n 간격, a-b 는 범위, a,b 는 나열을 뜻합니다.
-
* * * * * 명령매 분마다 실행합니다
-
*/5 * * * * 명령5분마다 실행합니다
-
0 * * * * 명령매시 정각에 실행합니다
-
30 2 * * * 명령매일 새벽 02:30에 실행합니다
-
0 9 * * 1-5 명령평일(월-금) 오전 9시에 실행합니다
-
0 0 * * 0 명령매주 일요일 자정에 실행합니다
-
0 0 1 * * 명령매월 1일 자정에 실행합니다
-
0 0,12 * * * 명령매일 0시와 12시에 실행합니다
-
0 4 1 1 * 명령매년 1월 1일 04:00에 실행합니다
특수 문자열 (예약어)
-
@reboot 명령시스템 부팅 시 1회 실행합니다
-
@hourly 명령매시 정각 (0 * * * * 와 동일)
-
@daily 명령매일 자정 (@midnight 와 동일)
-
@weekly 명령매주 일요일 자정
-
@monthly 명령매월 1일 자정
-
@yearly 명령매년 1월 1일 자정 (@annually 와 동일)
작성 팁 — 환경·로그·중복 방지
크론은 로그인 셸과 다른 최소 환경에서 실행됩니다. 명령과 파일은 항상 절대 경로로 쓰는 것이 안전합니다.
-
SHELL=/bin/bash크론탭 상단에 사용할 셸을 지정합니다
-
PATH=/usr/local/bin:/usr/bin:/bin크론탭 상단에 PATH를 명시합니다 (명령을 못 찾는 문제 예방)
-
MAILTO=""실행 결과 메일 발송을 끕니다
-
0 3 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1표준 출력과 에러를 로그 파일에 남깁니다
-
*/10 * * * * flock -n /tmp/job.lock /path/job.sh이전 실행이 끝나지 않았으면 건너뛰어 중복 실행을 방지합니다
동작 확인·디버깅
-
grep CRON /var/log/syslog크론 실행 기록을 확인합니다 (데비안/우분투)
-
sudo tail -f /var/log/cron크론 로그를 실시간으로 봅니다 (RHEL/CentOS)
-
journalctl -u cron --since todaysystemd 환경에서 오늘의 크론 로그를 봅니다
-
date서버의 현재 시간·시간대를 확인합니다 (시간대가 다르면 의도와 다르게 실행)
-
ls /etc/cron.daily/매일 자동 실행되는 시스템 스크립트 목록을 확인합니다
크론탭(Cron) 사용법 한눈에
크론은 리눅스에서 백업, 로그 정리, 배치 작업을 정해진 시간에 자동 실행하는 표준 스케줄러입니다. 이 페이지는 crontab 등록·확인·삭제 명령과 5필드 표현식 구조, 5분마다·매일 새벽·평일 출근 시간처럼 실무에서 가장 자주 쓰는 예약 예시를 정리했습니다.
표현식은 왼쪽부터 분·시·일·월·요일 순서이며, */5 처럼 간격을, 1-5 처럼 범위를, 0,12 처럼 나열을 조합할 수 있습니다. 출력 리다이렉트(>> 로그 2>&1)와 flock 중복 방지 패턴까지 더하면 운영 환경에서도 안심하고 쓸 수 있습니다.
※ crontab -r 은 확인 없이 전체 크론탭을 삭제합니다. -e 와 키가 가까우니 특히 주의하세요.
자주 묻는 질문
- 크론이 등록은 됐는데 실행되지 않아요.
- 가장 흔한 원인은 환경 변수입니다. 크론은 로그인 셸과 다른 최소 환경에서 돌기 때문에, 스크립트와 명령을 절대 경로로 쓰고 크론탭 상단에 PATH를 명시하세요. grep CRON /var/log/syslog 로 실행 기록을 먼저 확인하는 것이 빠릅니다.
- 표현식이 맞는지 미리 확인할 수 있나요?
- 이 페이지의 예시 표를 참고하거나, 표현식을 사람이 읽는 문장으로 풀어주는 crontab.guru 같은 검증 사이트에 붙여넣어 확인할 수 있습니다.
- 초 단위로 실행하고 싶어요.
- 표준 크론의 최소 단위는 1분입니다. 초 단위가 필요하면 systemd 타이머를 쓰거나, 1분 주기 크론 안에서 sleep으로 분할 실행하는 방식을 사용합니다.