본문 바로가기

기타

[Slack Bot 만들기] 3. crontab 등록하여 자동실행하기

반응형

앞서 2번에서 만든 소스를 crontab에 등록하여서 정해진 시간에 자동으로 실행되도록 합니다.

 

cron은 Linux 기반의 운영체제에서 특정 시간에 특정 작업을 진행할 수 있도록 해주는 프로그램입니다.

기본적으로 crontab 명령어는 -e, -l, -r 3가지 옵션을 통해서 사용합니다.

# 크론탭을 편집하는 명령어입니다. 크론탭이 존재하지 않는다면 비어있는 파일을 만들어서 새로운 크론탭으로 등록합니다.
crontab -e

# 크론탭의 내용을 출력하는 명령어입니다.
crontab -l

# 크론탭을 삭제할 때 사용하는 명령어입니다.
crontab -r

 

크론탭 내부에서는 수행하고자 하는 명령어와 해당 프로그램을 수행시킬 시간을 등록하게 됩니다.

문법은 다음과 같습니다.

* * * * * /location/of/program

'''
크론탭 명령어는 앞부분의 시간과 뒷부분의 실행시킬 프로그램 또는 명령어, 두부분으로 나뉘어집니다.
수행할 시간은 아래와 같이 분, 시, 일, 월, 요일의 형식으로 입력할 수 있습니다.
(요일에서 0과 7은 일요일을 의미합니다.)

*      *      *      *      *
분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)
'''

 

저는 크론탭에 두개의 명령어를 등록했습니다.

2번에서 만든 프로그램에서 말했듯이 파라미터를 0과 1로 주어서 각각 다른 메세지를 전송하도록 하였습니다.

# 23시에 실행
00 23 * * * python3 /location/for/src/slack.py 0

# 24시에 실행
00 00 * * * python3 /location/for/src/slack.py 1

 

각각의 명령어는 다음과 같은 메세지를 출력하게 됩니다.

23시에 첫번째 명령어가 실행되었을 때의 메세지
24시에 두번째줄의 명령어가 실행되었을 때의 메세지

반응형