1. 개요

Linux Crontab은 Unix 계열 운영 체제의 시간 기반 작업 스케줄러입니다. 특정 시간 또는 간격으로 실행되도록 작업(명령 또는 스크립트)을 예약하는 데 사용됩니다. Crontab은 “cron table”의 줄임말입니다. 여기서 “cron”은 백그라운드에서 실행되고 crontab 파일에서 예약된 작업을 확인하는 데몬입니다.

crontab 명령은 crontab 파일을 생성, 편집 및 삭제하는 데 사용됩니다. crontab 파일에는 각각 별도의 행에 작업 목록이 포함되어 있으며 각 작업은 실행할 시기와 실행할 명령 또는 스크립트를 결정할 수 있습니다.

2. Crontab 옵션 및 수행주기 설정방법

실행구문: crontab [option]

usage:  crontab [-u user] file
        crontab [-u user] [ -e | -l | -r ] [-i] [-s]
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)
        -s      (selinux context)

실행 주기 설정

* * * * *
요일
0~59 (분) 0~23 (시) 0~31 (일) 1~12 (월) 0 또는 7 (일요일) 1 (월요일) 2 (화요일) 3 (수요일) 4 (목요일) 5 (금요일) 6 (토요일)
crontab Usage

순서대로 나열하여 적어보면...
*          *           *                *           *             CommandToExecute
mins(0~59) hours(0~23) dayOfMonth(1~31) month(1~12) weekday(0~6)) CommandToExecute


# *    *    *    *    *  command to execute
# ┬    ┬    ┬    ┬    ┬
# │    │    │    │    │
# │    │    │    │    │
# │    │    │    │    └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday)
# │    │    │    └────────── month (1 - 12)
# │    │    └─────────────── day of month (1 - 31)
# │    └──────────────────── hour (0 - 23)
# └───────────────────────── min (0 - 59)

3. Crontab 사용 예시 소개

1. 매분마다 실행

* * * * * [명령문]
/1 * * * * * [명령문]

ex ) * * * * * /home/testuser/testpractices.sh

2. 매시 정각에 실행

0 * * * * [명령문]

ex ) 0 * * * * /home/testuser/testpractices.sh

3. 매시 20분, 50분에 실행

20,50 * * * * [명령문]

위와 같이 , (콤마)를 사용하면 해당하는 시간을 직접 중복 지정할 수 있습니다.

ex) 20,50 * * * * /home/testuser/testpractices.sh

4.  6시간마다 30분에 명령문 실행

30 */6 * * * [명령문]

위에 설명한 바와 같이 / 를 사용하면 시간 주기를 지정할 수 있습니다.

ex ) 30 */6 * * * /home/testuser/testpractices.sh 

5. 월~금 5시에 명령문 실행

0 5 * * 1-5 [명령문]
- 기호를 사용하여 주기 지정도 가능합니다.

ex) 0 5 * * 1-5 /home/testuser/testpractices.sh

태그: ,

카테고리:

업데이트:

댓글남기기