문제
다음 조건으로 cron을 이용해서 일정을 등록할 때 알맞은 것은?
매주 월요일과 목요일 오전 10시에 점검 스크립트인 /etc/check.sh가 실행되도록 설정한다.
① 10 0 1-4 * * /etc/check.sh ② 0 10 1,4 * * /etc/check.sh ③ 10 0 * * 1-4 /etc/check.sh ④ 0 10 * * 1,4 /etc/check.sh
정답
4번
해설
정답: 4. crontab 필드 순서는 "분 시 일 월 요일 명령"이다. 오전 10시 정각은 분=0, 시=10 이고, 요일은 월(1)과 목(4)을 콤마로 나열해 "1,4" 로 지정한다. 일·월은 매일·매월이므로 "*"다. 따라서 "0 10 * * 1,4 /etc/check.sh" 가 맞다.
오답 풀이
- 1번: "10 0 1-4 * *" 는 분=10, 시=0, 일=1~4(매월 1~4일)로 해석되어 시간·조건이 모두 틀리다.
- 2번: "0 10 1,4 * *" 는 일(date) 필드에 1,4 를 두어 "매월 1일·4일"이 되며 요일 조건이 아니다.
- 3번: "10 0 * * 1-4" 는 분=10, 시=0(00:10)이고 요일 1-4(월~목 연속)라 시간·요일 범위가 조건과 다르다.
- 4번: 분 0, 시 10, 요일 1,4(월·목)로 정확히 맞아 옳다.
보충 개념 요일 값: 0(또는 7)=일, 1=월, …, 6=토. 콤마(,)는 개별 나열, 하이픈(-)은 범위, 슬래시(/)는 간격을 뜻한다. 일(date)과 요일(day-of-week) 필드를 혼동하지 않는 것이 핵심이다.