Crontab 사용방법

✅ crontab 기본 명령어

명령어설명
crontab -e현재 사용자에 대한 크론 편집
crontab -l등록된 크론 작업 목록 확인
crontab -r현재 사용자의 크론 작업 전체 삭제
crontab -u [USER] -e특정 사용자의 크론 편집 (root만 가능)

⏰ crontab 시간 형식

scss복사편집* * * * *  명령어
│ │ │ │ │
│ │ │ │ └─ 요일 (0~7) (0과 7은 일요일)
│ │ │ └─── 월 (1~12)
│ │ └───── 일 (1~31)
│ └─────── 시 (0~23)
└───────── 분 (0~59)

예시:

스케줄의미
0 3 * * *매일 새벽 3시에 실행
*/10 * * * *10분마다 실행
0 9-17 * * 1-5평일 오전 9시부터 오후 5시까지 매시 정각 실행
0 0 1 * *매달 1일 0시에 실행
0 22 * * 0매주 일요일 밤 10시에 실행

📂 로그 확인

기본적으로 크론 작업은 시스템 로그에 기록됩니다:

  • Ubuntu: /var/log/syslog
  • CentOS/RHEL: /var/log/cron

예:

grep CRON /var/log/syslog

⚠️ 주의사항

  1. 환경 변수 차이: crontab은 로그인 쉘이 아니므로 PATH가 다를 수 있음.
    • 명령어 앞에 전체 경로 사용 권장 (예: /usr/bin/python3 등)
    • 또는 스크립트에 #!/bin/bashexport PATH=... 명시
  2. 출력 리디렉션: 오류나 출력을 파일로 저장하려면 다음과 같이 설정:
* * * * * /path/to/script.sh >> /path/to/logfile.log 2>&1
  1. 권한 확인: 실행하려는 스크립트는 실행 권한이 있어야 함 (chmod +x script.sh)

🎯 실용 예시

  1. 매일 1시에 백업 실행
0 1 * * * /home/user/backup.sh
  1. 매 5분마다 웹서버 확인
*/5 * * * * curl -fs http://localhost:80 || systemctl restart nginx
  1. Python 스크립트 실행
0 0 * * * /usr/bin/python3 /home/user/script.py

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다