본문 바로가기

Tip & Tech/Linux

crontab 사용법

crond는 리눅스에서 특정 작업을 특정 시간마다 반복 실행해주는 데몬입니다

간단한 유저별 사용법으로는
crondtab -e 를 입력하고 vi 편집기와 동일한 인터페이스에서 다음 규칙에 맞게 입력 해주시면 됩니다.

분 시간 일 월 요일 명령
분~월 까지는 생각 하시는 숫자 그대로 입력 해 주시면 되고,
요일의 경우 0(일요일) ~ 6(토요일)로 입력합니다. 특정 요일을 여러개 선택할경우 , 로 구분합니다.

예제를 들면
[user@CentOS ~]$ crontab -e
05 01 * * 1,2 ~/script.sh

위와 같이 설정 하실 경우에, 매주 월요일, 화요일 01시 05분에 사용자 폴더의 script.sh 를 실행합니다.

매시간 5분이 아닌 매 5분마다 실행되게 설정하시려면
*/5 01 * * 1,2 ~/script.sh 와 같이 입력합니다.

사용자별 설정이 아닌 시스템 단위에서도 설정이 가능합니다.
[root@CentOS ~]# vi /etc/crontab 을 보시면

위와 같은 파일을 보실 수 있습니다.

#run-parts 부분 밑으로 차례로
매시간 1분에 /etc/crond.hourly 디렉토리에 있는 파일들을 실행한다.
매일 4시 2분에 /etc/crond.daily 디렉토리에 있는 파일들을 실행한다.
매주 일요일 4시 22분에 /etc/crond.weekly 디렉토리에 있는 파일들을 실행한다.
매월 4시 42분에 /etc/crond.monthly 디렉토리에 있는 파일들을 실행한다.

아래는 /etc/crond.daily/ 밑으로 파일을 추가해서 매일 시간을 동기화 시켜주는 방법입니다.

[root@CentOS ~]# vi /etc/cron.daily/rdate
!#/bin/sh

/usr/bin/rdate -s time.bora.net && clock -w

[root@CentOS ~]# chmod 755 /etc/crond.daily/rdate