본문 바로가기

카테고리 없음

Crontab 사용방법

반응형

1 2 3 4 5 program(실행할 명령어)

1. 분(0-59) 

2. 시(0-23) 

3. 일(0-31) 

4. 월(1-12) 

5. 요일(0-7, 0 또는 7 = 일요일, 1 = 월요일, 2 = 화요일 ...) 

6. 실행할 명령어 

예시 )

- 5분마다 실행하는 cron 명령어 : */5 * * * ? *

 

1. "*"표시는 각 필드의 모든 시간대를 설정하는 것

크론탭을 등록할 때는 핑크색으로 표시한 것처럼 쓰게 됩니다.

각 필드는 하나 이상의 space로 구분되고한 줄당 하나의 명령어만 쓸 수 있습니다.

그리고 각 필드에 특정 값을 집어 넣어서 그 특정 시간에 명령어가 실행되도록 하는 것이죠.

예를 들어,

1 2 * * 5 명령어

라는 것이 있으면, 금요일 2시 1분마다 명령어가 실행된다는 것을 의미합니다.

예를 몇 개 들어볼게요.

0 * * * * 명령어 : 매 월 매일 매 시간 0분마다 명령어를 실행

0 7 * * * 명령어 : 매 월 매일 아침 7시 0분마다 명령어를 실행

 

2. 콤마(,)로 구분하여 여러 시간대를 한 필드에 지정할 수 있다.

만약 10분에 한 번씩 어떤 명령어를 실행하고 싶다면 분을 나타내는 필드에 여러 개를 지정하여 원하는 결과를 얻어낼 수 있습니다.

0,10,20,30,40,50 * * * * 명령어 : 매일 정각, 10분, 20분, 30분, 40분, 50분에 명령어를 실행

10 8,13,19 * * * 명령어 : 8시 10분, 오후 1시 10분, 오후 7시 10분에 명령어를 실행 

 

3. 하이픈(-)으로 시간의 범위를 지정할 수 있다.

* 9-18 * * * 명령어 : 9시부터 오후 6시까지 1분 간격으로 명령어를 실행 

0 * 10-13 * * 명령어 : 10일부터 13일까지 한 시간마다 명령어를 실행

0 9-11 * * * 명령어 : 매일 9,10,11시에 명령어를 실행

0 2,12 * * 1-5 명령어 : 월요일부터 금요일까지 2시, 12시마다 명령어를 실행

 

4. 슬래시(/)로 시간 간격을 지정할 수 있다.

*/5 * * * * 명령어 : 5분 간격으로 명령어를 실행

*/20 * * * 명령어 : 20분 간격으로 명령어를 실행

0 0 1 */3 * 명령어 : 4달에 한 번씩(3간격으로) 1일에 명령어를 실행

0 2-10/3 * * * 명령어 : 2시에서 10시까지 3간격으로 (3시, 6시, 9시) 명령어를 실행

 

5. > /dev/null : 명령어 처리 결과와 발생할 지 모르는 에러메시지를 출력하지 않고 모두 버림

30 0 1 * * /sendMail.sh > /dev/null : 매달 1일 새벽 0시 30분에 sendMail.sh를 실행하고 결과로그는 남기지 않고 모두 버림.

* 결과와 에러를 파일로 저장하려면 /dev/null 대신 파일의 경로를 적어주면 됩니다.

0 12 * * 7 /usr/local/bin/perl /crontab/test/regist.crontab.pl > /crontab_error.log

이상입니다.

반응형