홈/엔지니어/Linux / Shell/Cron 작업 스케줄러 실전 가이드…
Linux / Shell초급ubuntucentosdebianmacoscroncrontab스케줄러

Cron 작업 스케줄러 실전 가이드

반복 작업 자동화를 위한 crontab 문법, 환경 변수 설정, 로그 기록 방법을 설명합니다.

목차
  1. Cron이란?
  2. crontab 기본 사용법
  3. Cron 문법
  4. 환경 변수 설정
  5. 로그 기록
  6. /etc/cron.d 방식 (권장)
  7. 자주 하는 실수

Cron이란?

시간 기반 작업 스케줄러. 백업, 로그 정리, 리포트 생성 등 반복 작업 자동화에 사용합니다.


crontab 기본 사용법

Bash
crontab -e        # 현재 사용자 편집
crontab -l        # 현재 등록된 작업 목록
crontab -r        # 전체 삭제 (주의)
sudo crontab -u www-data -e

Cron 문법

CODE
# ┌─────────── 분 (0-59)
# │  ┌────────── 시 (0-23)
# │  │  ┌───────── 일 (1-31)
# │  │  │  ┌────────── 월 (1-12)
# │  │  │  │  ┌───────── 요일 (0-7, 0과 7=일요일)
# │  │  │  │  │
# *  *  *  *  *  실행할_명령어

자주 쓰는 패턴

Bash
# 매분 실행
* * * * * /opt/scripts/check.sh

# 매일 오전 2시에 백업
0 2 * * * /opt/scripts/backup.sh

# 매주 월요일 오전 9시
0 9 * * 1 /opt/scripts/weekly_report.sh

# 매월 1일 자정
0 0 1 * * /opt/scripts/monthly_clean.sh

# 매 5분마다
*/5 * * * * /opt/scripts/heartbeat.sh

# 평일(월~금) 오전 8~18시, 매 30분
*/30 8-18 * * 1-5 /opt/scripts/sync.sh

환경 변수 설정

Bash
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=admin@example.com

0 2 * * * /opt/scripts/backup.sh

로그 기록

Bash
# stdout과 stderr를 파일로 저장
0 2 * * * /opt/scripts/backup.sh >> /var/log/backup.log 2>&1

# 날짜 타임스탬프 추가
0 2 * * * echo "[$(date)] 백업 시작" >> /var/log/backup.log && /opt/scripts/backup.sh >> /var/log/backup.log 2>&1

/etc/cron.d 방식 (권장)

Bash
# /etc/cron.d/myapp
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin

# 매일 새벽 3시, deploy 사용자로 실행
0 3 * * * deploy /opt/myapp/scripts/cleanup.sh >> /var/log/myapp-cron.log 2>&1

자주 하는 실수

실수해결
명령어 경로 미지정절대 경로 사용 (/usr/bin/python3)
환경변수 없음스크립트 상단에 source /etc/environment
실행 권한 없음chmod +x script.sh
결과 확인 어려움>> /var/log/cron-job.log 2>&1 추가
#cron#crontab#스케줄러#자동화#linux
편집 안내 · Editorial Note

AI 도구가 초안 작성에 사용될 수 있습니다. 명령어의 실행 여부와 검증 환경은 각 가이드에 기재된 근거를 확인하세요. 적용 전 사용 중인 버전의 공식 문서를 확인하고, 오류는 이메일로 알려주세요. 이메일로 제보

주제 관련 공식 문서(자동 연결 · 문장별 근거 아님)GNU/Linux man 페이지 ↗

질문 & 답변 (Q&A)

이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.