본문 바로가기
IT/리눅스

Crontab을 이용한 자동 스케줄링 설정 및 로그 관리

by JGSHIN 2025. 2. 15.
반응형

1. Crontab 주요 옵션

Crontab은 다음과 같은 옵션을 제공합니다.

  • crontab -l → 등록된 작업 목록 보기
  • crontab -e → crontab 편집 (작업 추가 및 수정)
  • crontab -r → 등록된 작업 전체 삭제

2. Crontab 등록 형식

Crontab에 등록되는 각 작업은 6개의 필드로 구성됩니다.

 

*  *  *  * * 

↓ ↓  ↓ ↓ ↓

1 2 3 4 5 6

  field allowed values
1 minute 0-59
2 hour 0-23
3 day of month 1-31
4 month 1-12(or names, see below)
5 day of week 0-7(0 or 7 is Sun, or use names)
6 command  실행할 명령어

3. Crontab 스케줄 예제

아래 예제는 특정 시간에 실행되는 작업들을 설명합니다.

⏰ 시간별 실행

📅 특정 날짜/요일 실행

 

4. 로그 수집 및 관리

Crontab 실행 결과를 로그 파일로 저장할 수 있습니다.

로그 파일로 출력

 
* * * * * /home/cpu.sh >> /cronlog/cpu.log 2>&1
  • >> /cronlog/cpu.log → 실행 결과를 cpu.log 파일에 저장
  • 2>&1 → 표준 오류도 포함하여 저장

메일 로그 자동 삭제

Crontab 실행 시 발생하는 자동 이메일 로그를 삭제하려면 /etc/crontab 파일을 수정해야 합니다.

 
vi /etc/crontab
 
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO="" HOME=/
  • MAILTO="" → 시스템에서 자동으로 전송되는 메일을 차단

5. Crontab 실행 결과를 메일로 받기

Crontab 작업 결과를 이메일로 전송할 수도 있습니다.

메일 설정 (받을 이메일: jgshin@naver.com)

 
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO="jgshin@naver.com" HOME=/

메일 전송 예제

 
* * * * * /home/mail.sh | mail -s "System제목Check" jgshin@naver.com
  • mail -s "System제목Check" → 이메일 제목을 "System제목Check"로 설정
  • jgshin@naver.com → 메일을 받을 주소

📌 메일을 통한 실행 결과 확인이 필요할 경우 유용합니다.


6. 요약

✅ crontab -e를 이용하여 주기적으로 실행할 작업을 설정 가능
✅ 로그 파일을 지정하여 실행 결과를 저장하고 관리 가능
✅ 불필요한 자동 메일 로그를 방지하려면 MAILTO="" 설정
✅ 중요한 실행 결과를 이메일(jgshin@naver.com)로 받아볼 수도 있음

🚀 Crontab을 활용하면 반복 작업을 자동화하고, 서버 관리의 효율성을 높일 수 있습니다!

반응형
📧 이메일 문의
by @ 2025 JGSHIN