문제
다음 조건으로 cron을 이용해서 일정을 등록할 때 알맞은 것은?
매주 월요일 오전 10시에 점검 스크립트인 /etc/check.sh가 실행되도록 설정한다.
① 10 0 1 * * /etc/check.sh ② 0 10 1 * * /etc/check.sh ③ 10 0 * * 1 /etc/check.sh ④ 0 10 * * 1 /etc/check.sh
정답
4번
해설
정답: 4. crontab 필드는 "분 시 일 월 요일 명령" 순이다. 오전 10시 정각은 분=0, 시=10 이고, 매주 월요일은 요일=1, 일·월은 무관(*)이므로 "0 10 * * 1 /etc/check.sh" 가 맞다.
오답 풀이
- 1번: "10 0 1 * *" 는 분 10·시 0·일 1 로 해석되어 매월 1일 0시 10분이라 조건과 다르다.
- 2번: "0 10 1 * *" 는 일=1 로 매월 1일 10시이지 매주 월요일이 아니다.
- 3번: "10 0 * * 1" 은 분 10·시 0(0시 10분)이라 오전 10시가 아니다.
- 4번: 분 0·시 10·요일 1(월) 로 "매주 월요일 오전 10시" 를 정확히 만족해 옳다.
보충 개념 cron 요일 값은 0(또는 7)=일요일, 1=월, …, 6=토요일이다. 다섯 번째 필드(요일)에 1 을 두면 매주 월요일을 의미한다.