리눅스 crontab 사용 방법 (작업 스케줄러)

PC는 정해진 시간에 반복적으로 작업을 수행하는 경우가 많습니다. 윈도우에서는 작업 스케줄러가 그 기능을 제공한다면, 리눅스(Linux)에선 crontab이 해당 기능을 수행합니다.

Crontab

crontab은 그리스 신화에 등장하는 시간의 신 크로노스(Chronos)에서 영감을 받아 지어진 이름이라고 합니다. 스케줄러에 딱 어울리는 이름 같네요. crontab은 리눅스 시스템 팩에 기본적으로 제공되기 때문에 따로 설치하지 않고 사용할 수 있습니다.

 

crontab의 기능은 원하는 시간에 원하는 작업을 수행하는 것입니다. 예를 들어, 계속해서 쌓이는 로그 파일이나 캐시 파일을 정기적으로 삭제할 수 있습니다. 매일 뉴스레터를 메일로 보낼 수도 있고요. 그 외에도 활용처는 다양합니다.

 

실행 파일로는 .sh 확장자를 사용하는 쉘 스크립트가 사용됩니다. 어떤 작업을 수행할지 스크립트를 짜고, 정해진 시간에 sh 파일을 실행하는 식입니다.

Crontab 사용 방법

1. 크론탭 입력창을 엽니다.

crontab -e

2. 작성할 수 있는 페이지가 나오면 삽입키(i)를 누르고 명령어를 입력합니다. 크론탭의 작성 형식과 예시는 아래와 같습니다.

 

[작성 형식]

* * * * * 경로/파일명.sh
*       *        *       *        *
분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)

[예시]

매일 새벽 5시에 /home/scripts 경로에 있는 script.sh를 실행하는 설정입니다. 구체적인 숫자 대신 *을 사용하면 매일 작동한다고 이해하시면 됩니다.

0 5 * * *  /home/scripts/script.sh

시간을 두 개 이상 설정할 수도 있습니다. 매일 오전 7시와 오후 5시에 실행하는 경우 아래처럼 작성합니다.

0 5,17 * * * /home/script/script.sh

같은 맥락으로 요일도 복수로 정할 수 있겠죠. 월요일과 수요일만 새벽 5시에 script.sh를 실행하는 경우 아래처럼 작성합니다.

0 5 * * mon,wed  /home/script/script.sh

3.esc + wq + enter 명령어로 작성된 내용을 저장합니다.

4. 크론이 정상적으로 등록됐는지 확인합니다. 명령어는 아래와 같습니다. 작성한 내용이 표시되면 정상 등록된 겁니다.

crontab -l

마지막으로 크론을 삭제하는 명령어입니다.

crontab -r
반응형

댓글

Designed by JB FACTORY