본문 바로가기
Programming/Linux

크론탭(crontab) 사용법

by 제타 2018. 4. 21.
반응형

윈도우서버를 사용하는 경우 mssql을 주로 사용하고 이런경우 ssms에서 job을 만들어서 배치를 돌리게 된다.

하지만 리눅스에서는 크론탭을 사용하여 배치를 등록하고 실행할 수 있다.


현재 예약되어 있는 작업 보기 

crontab -l 


작업 편집(입력, 수정, 삭제)

crontab -e

 

cron을 설정하고 crond 데몬을 재시작 하지 않고 crontab -e로 설정 후 빠져나오면 바로 적용된다.


형식은

[분]  [시]  [일]  [월]  [요일]  명령어 

위와 같은 형식이다.

 

 분

 0~59

 시

 0~23

 일

 0~31

 월

 1~12

 요일

 0~7  (0,7=일 / 1=월 / 2=화 / 3=수 / 4=목 / 5=금 / 6=토)


 

'*' 은 모든 시간을 의미한다.

1,3,5 와 같이 콤마(,)로 구분하여 여러 시간대를 지정하는 것이 가능하다.

1-10 과 같이 하이픈(-)처럼 시간 범위를 지정할 수 있다.

하이픈(-)으로 시간 범위를 지정하고 슬래쉬(/)로 시간 간격을 지정할 수 있다. 

3-10/3는 3시부터 10시까지 3시간 간격=3,6,9 시를 의미한다.


주의사항이 있다면 모든 엔트리 필드는 공백으로 구분하고 한 줄당 하나의 명령만 지정할 수 있다.

 

예를 들면..

30 4,12 * * * /usr/bin/cmd  (매일 새벽4시 30분, 낮12시 30분에 /usr/bin/cmd 를 실행)

40 1 * * 0  /home/bloodguy/db.sh   (매주 일요일 새벽 1시 40분에 /home/bloodguy/db.sh 를 실행)

0 4-6 * * * 명령어  (매일 오전 4,5,6 시)

5 */2 * * * 명령어  (매일 2시간 간격으로 5분대 = 2시 5분, 4시 5분, 6시 5분 ... )

15 1 1 * *  명령어  (매월 1일 1시 15분)

30 3 1 1,3,6,9 명령어 (1월 1일 3시 30분, 3월 1일 3시 30분, 6월 1일 3시 30분, 9월 1일 3시 30분)


이런식으로 하면된다.


반응형