Crontab 설정하기
(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를 수행한다.
예2) 1시 30분 부터 매 8시간마다 /home/user/every_8hours.sh를 수행한다. (1:30, 9:30, 17:30)
예3) 매주 월요일 오전 1시 15분에 /home/user/backup.sh 를 수행한다.
15 1 * * 1 /home/user/backup.sh
예4) 짝수 분마다 /root/every_minute.sh를 수행한다.
예5) 홀수 분마다 /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 김소령