문제
서버관리자 Kim씨는 서버에 대한 상태를 확인하기 위해 '/etc/check.sh'스크립트를 작성하였다. 해당 스크립트를 매주 월요일 오전 10시에 실행시키려고 할때, crontab 파일 설정으로 알맞은 것은?
① 10 0 * * 1 /etc/check.sh ② 0 10 * * 1 /etc/check.sh ③ 10 0 * * 0 /etc/check.sh ④ 0 10 * * 0 /etc/check.sh
정답
2번
해설
정답: 2. crontab 필드는 '분 시 일 월 요일 명령' 순서다. 오전 10시 정각은 분=0, 시=10이고, 월요일은 요일=1(0은 일요일)이다. 따라서 '0 10 * * 1 /etc/check.sh'가 정답이다.
오답 풀이
- 1번: 10 0 * * 1은 분=10, 시=0이므로 '월요일 0시 10분'이 되어 오전 10시가 아니다.
- 2번: 0 10 * * 1은 '월요일 10시 0분'으로 조건을 만족하므로 정답이다.
- 3번: 10 0 * * 0은 분/시도 틀리고 요일 0(일요일)이라 두 가지가 모두 틀리다.
- 4번: 0 10 * * 0은 시각은 맞지만 요일 0이 일요일이라 월요일 조건에 맞지 않는다.
보충 개념 crontab 요일: 0(또는 7)=일요일, 1=월요일 … 6=토요일. 필드 순서는 분(0-59) 시(0-23) 일(1-31) 월(1-12) 요일(0-7)이다.