개요

본 포스트에서는 CentOS의 작업 스케줄러인 crontab의 기본적인 동작 및 사용법에 대해 작성하고자 한다.
crontab은 특정 프로세스를 정해진 날짜에 실행하거나, 특정 연/월/일/분/초 마다 반복할 수 있으며 실행한 프로세스의 output string을 logging하는 등 bash로 할 수 있는 모든 작업이 가능하기때문에 배치batch 프로세스에 최적화되어있다고 할 수 있다.


실행방법

  1. crontab -e

규칙

  1. <p>* * * * * $(BASH COMMAND)
  2. ┬ ┬ ┬ ┬ ┬
  3. │ │ │ │ │
  4. │ │ │ │ │
  5. │ │ │ │ └───────── 요일 (0~6) (0:일요일, 1:월요일 ... 5:금요일, 6:토요일)
  6. │ │ │ └────────── 월 (1~12)
  7. │ │ └─────────── 일 (1~31)
  8. │ └──────────── 시 (0~23)
  9. └───────────── 분 (0~59)
  10. </p>

예제

1) 1분마다 sh /root/daemon/daemon_up.sh 라는 명령어를 사용하여 프로세스를 실행시키고, 그 프로세스에서 출력한 output string을 /root/daemon/log/2016-01-14.log 에 저장
  1. * * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log


2) 동일한 프로세스를 10분마다 실행

  1. */10 * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log


3) 동일한 프로세스를 매시 15분이 될때마다 실행

  1. 15 * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log

4) 동일한 프로세스를 1시간마다 실행

  1. 0 * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log


4) 동일한 프로세스를 2시간마다 실행

  1. 0 */2 * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log

5) 동일한 프로세스를 매일 오후 2시 30분마다 실행

  1. 30 14 * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log

출처 : http://nontoxice.tistory.com/223

+ Recent posts