[DE 프로젝트: 코로나 확진자 수 예측 앱 'CO-THER 19'] 5. AWS EC2 크론탭(Crontab)

API to PostgreSQL 함수 수정

  • 시작, 끝 날짜를 Datetime으로 어제 날짜로 맞춰준다.
    • 기상 API는 전 날 날짜까지만 지원한다.
1
2
3
yesterday = (datetime.today() - timedelta(1)).strftime("%Y%m%d")
startDate = yesterday
endDate = yesterday

EC2 생성

image

  • pem 파일이 있는 곳에서 ssh를 실행한다.
1
2
3
$ ssh -i 6mini.pem ec2-user@ec2-3-38-108-111.ap-northeast-2.compute.amazonaws.com

$ sudo yum update

CP 작업

  • 서버에 파이썬 파일을 cp한다.
1
$ scp -i 6mini.pem postgres-weather-cronjob.py ec2-user@ec2-3-38-108-111.ap-northeast-2.compute.amazonaws.com:~/
  • pip를 설치한다.
1
2
3
$ curl -O https://bootstrap.pypa.io/get-pip.py

$ sudo python3 get-pip.py
  • 필요한 모듈을 설치 후 파이썬 실행 시 정상적으로 작동한다.

크론탭(Crontab)

  • 크론탭을 설치한다.
1
$ sudo service crond start
  • vim 파일을 수정한다.
  • mailto를 이용하여 기능 실행마다 메일로 받아볼 것이다.
1
2
3
4
5
6
$ crontab -e
'''
MAILTO=real6mini@gmail.com 

30 18 * * * /usr/bin/python3 /home/ec2-user/postgres-weather-cronjob.py
'''

확인

1
2
3
4
5
6
7
8
9
10
'''
crontab: installing new crontab
'''

$ crontab -l
'''
MAILTO=real6mini@gmail.com

30 18 * * * /usr/bin/python3 /home/ec2-user/postgres-weather-cronjob.py
'''
  • EC2는 UTC 시간대이기 때문에 잘 생각해서 진행한다.
  • 테스트는 메일이 오길 기다린다.
0%