리눅스마스터1급 - cron, crontab

yeonjkim·2021년 9월 16일
0

리눅스마스터 1급

목록 보기
1/1

작업 예약 명령어

1. at 명령어

at 명령어 : 지정한 시간에 원하는 명령을 실행할 수 있다. at 명령과 시간을 지정해 실행하면 at 명령어 전용 프롬프트가 나타나고, 이곳에 명령어나 스크립트 등을 입력해 지정한 시간에 실행되게 할 수 있다.

기본적으로 at 명령어는 root사용자만 사용할 수 있으며, 단 1회만 예약 시간에 작업을 실행할 수 있다.

  • atq (at queue) : 현재 예약된 작업 목록을 확인

  • atrm (at remove) : 예약된 작업을 삭제

2. cron 명령어 (command run on)

cron 명령어 : 미리 정한 시간에 명령어, 프로그램, 작업 등을 실행할 수 있는 서비스. at 명령어는 단 1회만 실행하지만 cron명령어는 매일, 매주, 매달, 요일마다 반복할 수 있는 것이 특징.

  • 위는 크론 설정 파일에 크론 작업을 정의한 것이다. 총 7개의 필드가 있으며, 분, 시간, 일, 월, 요일, 유저명, 실행할 명령어 순으로 기재한다. 요일은 0-7 사이의 숫자로 기입이 가능하며, 0은 일요일, 1은 월요일, 2는 화요일, ... 순이다.

2.1 cron 설정파일 예제

01 23 * 1 Monday /home/yeonjkim/test.sh

분 시간 일 월 요일 명령어 순. *은 범위 내 모든 경우를 말한다.
01분, 23시, 일은 상관 없음, 1월, 월요일이 지정되어 있으니
home/yeonjkim 디렉토리 내의 test.sh 스크립트를 매년 1월 일에는 상관없이 월요일마다 23시 1분에 실행한다.

00 09-18 * * * /home/yeonjkim/daily.sh

00분, 09시부터 18시, 일은 상관 없음, 월도 상관 없음, 요일도 상관 없이 지정되어 있으니
home/yeonjkim 디렉토리 내의 daily.sh 스크립트를 매일 09시부터 18시 00분에 실행한다.

리눅스마스터 1급 필기 실전문제 풀이

2019년 1급 1차 필기시험 24번.


<풀이>
(1) 1, 3, 5, 0 * * 0 /etc/work.sh 에서는 분 시간 일 월 요일 순으로 기재되니 1, 3, 5분 0시 일은 상관 없음 월도 상관 없음 일요일을 뜻한다.
따라서 매주 일요일 0시 1분, 3분, 5분에 etc 디렉토리의 work.sh를 실행하라는 의미.

(2) 0 1,3,5 * * 0 /etc/work.sh에서도 0분 1,3,5시 일은 상관 없음 월도 상관 없음 일요일을 뜻한다.
따라서 매주 일요일 1시, 3시, 5시 0분에 etc 디렉토리의 work.sh를 실행.

(3) 0 * * 1,3,5 0 /etc/work.sh는 0분 시간은 상관 없음 일도 상관 없음 1,3,5월 일요일을 뜻한다.
따라서 1,3,5월 매 일요일의 매 시간 0분에 etc/work.sh를 실행.

(4) 0 0 * * 1,3,5 /etc/work.sh는 0분 0시 일은 상관 없음 월도 상관 없음 월요일, 수요일, 금요일을 뜻한다.
따라서 매주 월,수,금의 0시 0분에 etc/work.sh를 실행하라는 의미이기 때문에 4번이 답이다. 1,2번도 일주일에 3번씩 실행되지 않나?

0개의 댓글