새소식

서버관련/Command

Crontab 사용법 / 설정법

  • -
SMALL

Crontab 사용법 / 설정법

crontab 이란?

 Crontab 이란 Linux에서 자동 스케쥴링 프로그램이다, 특정시간대에 특정 명령어 혹은 스크립트를 반복적으로 실행 할수 있다

 

MIN HOUR DOM MON DOW CMD

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

*추가* -  요일은 0:일요일 , 1:월 , 2:화 , 3:수 , 4:목 , 5:금 , 6:토

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

 

출처 - http://blog.naver.com/wiznux/60202504815

LIST

'서버관련 > Command' 카테고리의 다른 글

linux iptables 제한 해제  (0) 2013.04.10
linux 텍스트파일 분할  (0) 2012.11.07
일괄 문자 치환(사이트 이전시 유용)  (0) 2011.04.21
Vi editor  (0) 2011.04.21
tar 압축관련  (0) 2011.04.21
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.