[React+Django 프로젝트 - 유튜브 악플탐지]

EC2) 리눅스 ubuntu 크론탭으로 파이썬 파일 자동실행하기

Y-Joo 2021. 5. 30. 17:10

웹 배포를 하다보면 크론탭이 필요할 때가 있다.

필자의 경우에는 크롤링을 하는 파일을 1시간마다 돌려야 하는 경우였는데,

처음에는 Django 크론탭을 사용하려 했으나 실행이 잘 되지 않아 찾아보던 중 

우분투 크론탭에 관해 알게 되었다.

사용법은 아주 간단하다.

콘솔에서 crontab -e를 실행하면 코드를 작성할 수 있는 화면이 나온다.

해당 화면에서 시간 , 사용할 언어, 돌릴 프로그램 순으로 작성하면 된다.

ex) 0 * * * * /home/ubuntu/<project_name>/venv/bin/python3 /home/ubuntu/web-coin-crawler/back/server/cron.py

이 코드는 1시간마다 python3을 이용하여 cron.py를 돌린다는 것을 의미한다.

시간 설정은 아래 포스트를 참고하자.

https://yangyag.tistory.com/358

 

crontab(크론탭) 시간 설정 방법

0 5 * * * /home/test/test.sh > /home/test/log/test.log 2>/home/test/log/test_2.log 위처럼 적으면 매일 5시에 home/test/test.sh 를 실행하라는 말이다. 첫 번째 0은 몇 분에 실행할 거냐를 지정해 주는 거다..

yangyag.tistory.com

크론탭이 돌아가는 지 확인하려면 다음 명령어를 사용하자.

sudo service cron status

다음과 같은 결과가 나올 텐데 open이 크론탭이 실행된 시간, closed가 프로그램 실행이 완료된 시간을 나타낸다.

즉 55분부터 58분까지 프로그램이 돌아갔다고 해석할 수 있다.

만약 이 시간이 실제 프로그램 실행시간과 많이 차이난다면 ubuntu에서 python3 <파일 이름>을 실행하여

오류가 나지는 않는지 체크해보자.