메뉴 건너뛰기

새로운 댓글을 작성합니다.

에프닷

2019.10.18 20:16

iframe allow="encrypted-media" allowfullscreen="true" allowtransparency="true" aria-hidden="true" frameborder="0" id="fb_xdm_frame_https" scrolling="no" src="https://staticxx.facebook.com/connect/xd_arbiter.php?version=44#channel=f3bf32b4d61f908&origin=https%3A%2F%2Fbetatester.tistory.com" style="border-width: initial; border-style: none;" tabindex="-1" title="Facebook Cross Domain Communication Frame"

 
프로그래밍/Linux

[Linux] 클론탭(crontab) 기본 개념

우수고객
댓글수0

 

Crontab 이란

 

 crontab은 스케줄링을 관리하는 프로그램으로 시스템 관리자에게 중요한 유틸 중 하나이다. 특정 시간대에 사용자가 작성한 스트립트나 명령을 실행 할 수 있다. 이는 rsync 같은 툴을 같이 사용하여 굉장히 편리한 백업 시스템을 만들 수도 있고 데이터 베이스관리나 기타 반복적인 업무를 간편하게 등록하여 사용 할 수 있다.

 
 
 
MIN HOUR DOM MON DOW CMD
 
 
 
 
 
 
 
 

 

필드 명세 허용 값
MIN 0~59
HOUR 시간 0~23
DOM 날짜 1-31
MON 1-12
DOW 0-6
CMD 명령어 실행 가능 한 모든 명령어

 

 

1. 다음 시간 6월 10일 오전 8시 30분 을 cron 명령어에 맞게 작성해보자.

 
 
 
30 08 10 06 * /home/script/backup
  •  
    30: 30분
  •  
    08: 오전 8시 <24시제>
  •  
    10: 10일
  •  
    06: 6월
  •  
    *: 매주
 

2. 매일 하루 두 번 증분 백업을 하자.

 
 
 
00 11,16 * * * /home/script/incremental-backup
  •  
    00: 0분 (정각)
  •  
    11,16 - 오전 11시 / 오후 4시
  •  
    *: 매일
  •  
    *: 매달
  •  
    *: 매주
 

3. 특정 시간대에 작업하기

 
 
 
00 09-18 ** 1-5 /home/check-db-status
  •  
    00: 0분 (정각)
  •  
    09-18: 오전 9, 10, 11, 12시 / 오후 1, 2, 3, 4, 5, 6시 마다 작업
  •  
    *: 매일
  •  
    *: 매달
  •  
    1-5: 월, 화, 수, 목, 금 (주중)
 

4. crontab 작업 목록 보기 (명령어)

 
 
 
 
 
 
 
 
 
 
 
 
$ crontab -l
@hourly /home/script/hourly-script
00 09-18 ** 1-5 /home/check-db-status

$ crontab -u foo -l
no crontab for foo

$ su
# crontab -l
no crontab for root
 

 

 

5. crontab 목록 수정

 

목록 수정을 vi/vim으로 편집하려면 변수를 선언해줘야 한다. export VISUAL=vim

 
 
 
 
$ crontab -e
$ crontab -u foo -e
 

6. 매분마다 작업하기

 
 
 
* * * * * CMD
 

7. 10분 마다 작업하기

 
 
 
 
*/10 * * * * /home/script/check-disk-space
0-10/2 * * * * /home/script/check-db-updates-5times
  •  
    */10의 뜻은 10분 마다
  •  
    0-10/2의 뜻은 처음 10분 동안 2분 간격으로
 

8. 키워드 사용

 

Keyword

 
 
 
 
 
 
 

 

키워드 대치 문법
@yearly 0 0 1 1 *
@daily 0 0 * * *
@hourly 0 * * * *
@weekly 0 0 * * 0
@reboot 시스템 시작 시

 

 

다음은 키워드를 사용해 매일 반복하는 작업 스케줄링 crontab이다.

 
 
 
@daily /home/script/make-log
 

9. 메일 사용

 

crontab 수정시 MAILTO를 선언하면 실행 내용을 메일로 받을 수 있다.

 
 
 
MAILTO="xajax@naver.com"
 

10. 파일을 통한 crontab 설정

 

파일로 저장해 놓고 다른 시스템에 재 사용 하고 싶다면 다음과 같이 하면 된다.

 
 
 
 
$ crontab cron-file.txt
$ crontab -l

 

 

[출처] 효율적인 crontab 사용법|작성자 오라클

 
  •  
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
돌아가기