3. OS이야기/ 01. Administration

Crontab 설정하기

OSSW(Open Source System SoftWare 2014. 6. 30. 11:06

(1) crontab 이란?

: 지정한 시간 간격마다 명령어가 수행되도록 등록하는 프로그램

 

(2) crontab 파일 형식

*    *    *    *    *  수행할 명령어
┬   ┬   ┬   ┬   ┬
│   │   │   │   └───────── 요일day (0 - 6) (0 =일요일, 1 =월요일, ..... 6 =토요일)
│   │   │   └────────── 월month (1 - 12)
│   │   └─────────── 일day (1 - 31)
│   └──────────── 시hour (0 - 23)
└───────────── 분min (0 - 59)

 

(3) crontab 사용 방법

# crontab -l    (예약된 작업 리스트 출력)

# crontab -e   (예약된 작업 수정)

# crontab -r    (예약된 작업 삭제)

 

(4) 사용 예시

예1) 매일 3시에 /root/backup.sh를 수행한다.

*  3  *  *  * /root/backup.sh

 

예2) 1시 30분 부터 매 8시간마다 /home/user/every_8hours.sh를 수행한다. (1:30, 9:30, 17:30)

30 1-23/68 *  *  * /home/user/every_4hours.sh

 

예3) 매주 월요일 오전 1시 15분에 /home/user/backup.sh 를 수행한다.

15  1  *  *  1 /home/user/backup.sh

 

예4) 짝수 분마다 /root/every_minute.sh를 수행한다.

*/2  *  *  *  * /root/every_minute.sh

 

예5) 홀수 분마다 /root/every_minute.sh를 수행한다.

1-59/2  *  *  *  * /root/every_minute.sh

 

예6) 매 5분마다 /etc/chef/chef_start.sh를 수행한다.

*/5  *  *  *  *  /etc/chef/chef_start.sh > /dev/null 2>&1

 

 

여기서 > /dev/null 2>&1 란?

표준에러를 표준출력으로 redirection 하라는 의미이다. 즉 지정한 명령어 처리결과와 발생할지 모르는 에러메시지를 출력하지 않고 모두 버린다(/dev/null)는 뜻이다. 만약 결과와 에러를 파일로 저장하려면 /dev/null 대신 저장할 파일명을 적어주면 된다.

 

0, 1, 2는 각각 표준입력, 표준출력, 표준에러를 의미한다.

 

 

Posted by 김소령