콘텐츠로 건너뛰기

리눅스에서 스케줄링을 위한 Crontab에 사용하는 크론 표현식 예시

스케줄러 사용을 위한 크론 표현식(Cron Expression) 정리‘에 이어서 작성하는 글입니다. 크론 표현식의 문법을 확인하려면 이전 글을 참고하시면 됩니다. 이번 글에서는 Crontab에 사용하는 크론 표현식의 예시를 설명합니다.

리눅스 Crontab에 스케줄 등록 방법

쿼츠 표현식
쿼츠 표현식

리눅스에서 반복적으로 수행해야 하는 작업이 있는 경우 Crontab을 사용합니다. 크론탭에 스케줄을 등록하는 방법은 두 가지가 있습니다.

관리자 권한이 있는 경우

/etc/crontab
/etc/crontab

/etc/crontab 파일을 직접 편집하여 등록합니다. 에디터로 파일을 열면 사용 예시가 주석에 쓰여 있습니다.

sudo nano /etc/crontab

크론 표현식으로 된 스케줄, 사용자명, 실행 명령어 순으로 작성하면 됩니다.

* * * * * user-name command to be excuted

관리자 권한이 없는 경우

crontab -e
crontab -e

crontab -e 명령어를 실행하면 스케줄을 등록할 수 있는 파일이 열립니다. 첫 실행인 경우엔 어떤 편집기를 사용하여 편집할 지 편집기 선택 메뉴가 나옵니다. 한번 선택하면 다음 편집 때는 바로 편집기가 열립니다.

crontab -e

크론 표현식으로 된 스케줄, 실행 명령어 순으로 작성하면 됩니다. 관리자 권한으로 등록하는 방법과는 다르게 사용자명은 생략되어 있습니다.

0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

주석에 매주 월요일 5시에 수행하는 예제가 쓰여 있습니다. 참고하여 등록 하려는 작업을 추가로 작성하면 됩니다.

크론 표현식 예시

크론 표현식의 예시 입니다. 예시를 참고해서 사용해야 하는 스케줄의 크론 표현식을 작성하면 됩니다.

매 시간 20분, 30분에 수행

20,30 * * * *

콤마를 사용하여 20분, 30분을 지정 합니다.

5분 마다 수행

0/5 * * * *

0/5는 초기값이 0으로 0분 부터 5분 마다 수행을 합니다. 즉 정각, 5분, 10분, 15분 … 에 수행됩니다. 6분, 11분, 16분, 21분 순서로 수행하려 한다면 1/5로 작성하면 됩니다.

1시간 마다 수행

* 0/1 * * *

매일 0시에서 6시 사이에 30분마다 수행

0/30 0-6 * * *

하이픈을 사용하여 0-6으로 0시부터 6시 사이만 수행하도록 합니다.

매 월 1일 6시 30분에 수행

30 6 1 * *

매 월 15일 6시 30분에 수행

30 6 15 * *

매 월 마지막 날 6시 30분에 수행

30 6 L * *

매 월의 마지막 날은 30일, 31일 그리고 2월은 28일이나 다른 날짜가 되기도 합니다. 그래서 값의 마지막 값을 표현하는 L을 사용하여 마지막 날을 지정하여 수행합니다.

매 주 월요일 12시에 수행

0 12 * * 1

또는

0 12 * * MON

매 주 평일 12시에 수행

0 12 ? * 1-5

또는

0 12 ? * MON-FRI

요일은 0 ~ 6의 숫자 또는 요일에 해당하는 문자로 표현이 가능합니다. 토요일, 일요일을 제외한 평일을 지정하기 위해 하이픈을 써서 기간을 지정합니다.


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다