본문 바로가기

지식창고/Linux

[리눅스/Linux] crontab(크론탭) 설정 방법

반응형
#1. crontab(크론탭)이란?

crontab(크론탭)은 리눅스/유닉스 시스템에서 특정 작업을 수행하는 데몬인 cron(크론)을 원하는 때에 작업을 수행하도록 설정하는 작업입니다. Windows 시스템에서 작업 스케쥴러와 비슷한 역할을 한다고 볼 수 있습니다.

#2. crontab 설정 방법

crontab 설정하는 방법은 두 가지가 있습니다. 이 포스팅에서는 명령어를 사용하는 방법을 사용하도록 합니다.

  • crontab -e 명령어를 사용하여 편집/수정하는 방법
  • /etc/crontab 파일을 직접 수정하는 방법
#3. crontab 명령어 옵션

crontab 명령어에는 몇 가지 옵션이 존재합니다.

  • -e : 등록, 편집, 수정 등을 수행할 수 있고 최초로 사용 시 편집기를 선택할 수 있다.
  • -d : 등록된 크론탭을 삭제한다.
  • -l : 등록된 크론탭 목록을 출력한다.
  • -r : 현재 사용자가 등록한 전체 크론탭을 삭제한다.
#4. crontab 설정 방법

crontab은 아래와 같은 형식으로 사용합니다.

* * * * * timeout 12000 test.sh

왼쪽부터 순서대로 설명해보겠습니다.

  • 분(0~59)을 설정합니다. * 로 표기 시 매 분이라는 의미입니다.
  • 시간(0~23)을 설정합니다. * 로 표기 시 매 시간이라는 의미입니다.
  • 일(1~31)을 설정합니다. * 로 표기 시 매일이라는 의미입니다.
  • 월(1~12)을 설정합니다. * 로 표기 시 매월이라는 의미입니다.
  • 주(0~6)를 설정합니다. * 로 표기 시 매주라는 의미입니다. 0은 일요일이며, 6은 토요일입니다.
  • test.sh 는 실행할 파일 또는 명령어입니다.
  • timeout(생략 가능)은 실행 후 12000초 뒤에 중지하라는 의미로 쓰입니다.
#5. crontab 설정 예시

1. 매분 실행

* * * * * sh back_db.sh

2. 5분마다 실행

*/5 * * * * sh back_db.sh

3. 매시간 5분마다 실행

5 * * * * sh back_db.sh

4. 오전 9시와 오후 5시에 실행

0 9,17 * * * sh back_db.sh

5. 매주 월요일 5시 30분에 실행

30 5 * * 1 sh back_db.sh

 

반응형