ToolStack
EN

크론탭(Cron) 사용법

crontab 명령어, 스케줄 표현식, 자주 쓰는 예약 예시

데이터는 서버로 전송되지 않습니다 — 모든 처리는 브라우저 안에서만 서버 전송 0건

01

crontab 기본 명령

  • crontab -e

    내 크론탭을 편집합니다 (저장하면 즉시 적용)

  • crontab -l

    등록된 크론탭 목록을 확인합니다

  • crontab -r

    내 크론탭을 전부 삭제합니다 ※ 확인 없이 삭제되므로 주의

  • sudo crontab -u 사용자 -l

    다른 사용자의 크론탭을 확인합니다

  • sudo systemctl status cron

    크론 데몬 상태를 확인합니다 (RHEL계는 crond)

  • cat /etc/crontab

    시스템 전역 크론탭을 확인합니다 (사용자 필드 포함 6필드)

02

스케줄 표현식 — 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에 실행합니다

03

특수 문자열 (예약어)

  • @reboot 명령

    시스템 부팅 시 1회 실행합니다

  • @hourly 명령

    매시 정각 (0 * * * * 와 동일)

  • @daily 명령

    매일 자정 (@midnight 와 동일)

  • @weekly 명령

    매주 일요일 자정

  • @monthly 명령

    매월 1일 자정

  • @yearly 명령

    매년 1월 1일 자정 (@annually 와 동일)

04

작성 팁 — 환경·로그·중복 방지

크론은 로그인 셸과 다른 최소 환경에서 실행됩니다. 명령과 파일은 항상 절대 경로로 쓰는 것이 안전합니다.

  • 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

    이전 실행이 끝나지 않았으면 건너뛰어 중복 실행을 방지합니다

05

동작 확인·디버깅

  • grep CRON /var/log/syslog

    크론 실행 기록을 확인합니다 (데비안/우분투)

  • sudo tail -f /var/log/cron

    크론 로그를 실시간으로 봅니다 (RHEL/CentOS)

  • journalctl -u cron --since today

    systemd 환경에서 오늘의 크론 로그를 봅니다

  • 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으로 분할 실행하는 방식을 사용합니다.

관련 툴