Programming/Technic

crontab 설정

minarae7 2009. 7. 6. 16:36
728x90
반응형
리눅스에 보면 crontab이라는 것이 있다.
이것은 특정 시간마다 특정 프로그램을 실행시켜주는 것이라고 생각하면 된다.
이것을 실행해주는 서비스는 crond라는 서비스이며 설정은 /etc/crontab에서 할 수 있다.

특정 주기라 함은 분, 시간, 날짜, 요일, 달 이렇게 다섯가지로 나타나면 *로 설정된 것은 매 주기마다 라는 것을 의미한다.

설정은 다음과 같이 할 수 있다.

* * * * * /home/hippo/hippo/monitor/monitor.pl > /dev/null 2>&1

앞에 있는 *부터 순서대로 각각이 분 시간 일 월 요일 을 의미한다.

위의 설정은 매 분마다 프로그램을 실행하라는 의미다.

분은 0~59
시는 0~23
일은 0~31
월은 1~12
요일은 0~7(0 또는 7은 일요일)

이렇게 분류할 수 있으며 *는 매 주기마다라는 의미이다.

뒤에 나오는 프로그램을 실행시킬 프로그램의 경로를 나타내며 이 프로그램은 화면에 출력되는 값이 없어야 한다.

따라서 위의 예제에서는 리다이렉션을 사용하여서 화면 출력은 특정 디바이스로 보내서 화면 출력값을 없앴다.

예전에는 직접 /etc/crontab 파일을 수정하였는데 요즘은 crontab -e라는 명령어를 통해서 설정을 변경하며 변경후에는 crond 데몬을 재시작해준다.

/etc/ 아래에 보면 cron.d, cron.daily, cron.hourly, cron.monthly, cron.weekly 이렇게 있는데

이것은 각각 분마다 시간마다 날짜마다 달마다 주마다 실행시켜주는 프로그램들이 위치한다.

그리고 5분마다 같이 1단위가 아닌 설정을 원할 경우에는 */5 와 같이 나눌 셈을 통해서 설정할 수 있다.
728x90
반응형